讨厌鬼购物
[题目链接](https://www.nowcoder.com/practice/61d88882485e4a49bfc26c517ca169bd)
思路
有两家店 和
,出售相同的
类商品。第
类商品在
店售价
元、评分
分,在
店售价
元、评分
分。
如果某类商品在其中一家店的价格严格更低且评分严格更高,讨厌鬼就一定会买。问一共有多少类商品一定会被购买。
判定条件
对第 类商品,满足以下任一条件即可:
且
(在
店买更划算)
且
(在
店买更划算)
直接遍历所有商品,逐个判断即可。
复杂度
- 时间复杂度:
- 空间复杂度:
代码
[sol-C++]
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
vector<int> a(n),b(n),sa(n),sb(n);
for(int i=0;i<n;i++) scanf("%d",&a[i]);
for(int i=0;i<n;i++) scanf("%d",&b[i]);
for(int i=0;i<n;i++) scanf("%d",&sa[i]);
for(int i=0;i<n;i++) scanf("%d",&sb[i]);
int ans=0;
for(int i=0;i<n;i++){
if((a[i]<b[i] && sa[i]>sb[i]) || (b[i]<a[i] && sb[i]>sa[i]))
ans++;
}
printf("%d\n",ans);
return 0;
}
[sol-Java]
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n], b = new int[n], sa = new int[n], sb = new int[n];
for (int i = 0; i < n; i++) a[i] = sc.nextInt();
for (int i = 0; i < n; i++) b[i] = sc.nextInt();
for (int i = 0; i < n; i++) sa[i] = sc.nextInt();
for (int i = 0; i < n; i++) sb[i] = sc.nextInt();
int ans = 0;
for (int i = 0; i < n; i++) {
if ((a[i] < b[i] && sa[i] > sb[i]) || (b[i] < a[i] && sb[i] > sa[i]))
ans++;
}
System.out.println(ans);
}
}
[sol-Python3]
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
sa = list(map(int, input().split()))
sb = list(map(int, input().split()))
ans = 0
for i in range(n):
if (a[i] < b[i] and sa[i] > sb[i]) or (b[i] < a[i] and sb[i] > sa[i]):
ans += 1
print(ans)
[sol-JavaScript]
const readline = require('readline');
const rl = readline.createInterface({ input: process.stdin });
const lines = [];
rl.on('line', line => lines.push(line.trim()));
rl.on('close', () => {
const n = parseInt(lines[0]);
const a = lines[1].split(' ').map(Number);
const b = lines[2].split(' ').map(Number);
const sa = lines[3].split(' ').map(Number);
const sb = lines[4].split(' ').map(Number);
let ans = 0;
for (let i = 0; i < n; i++) {
if ((a[i] < b[i] && sa[i] > sb[i]) || (b[i] < a[i] && sb[i] > sa[i]))
ans++;
}
console.log(ans);
});

京公网安备 11010502036488号