这是代码: 有没有办法提高效率? 效率是让我的情况更短更快
#include <iostream>
int main()
{
int i, n, a[10], b[10];
cin >> n;
for (i = 0; i < n; i++)
{
cin >> a[i] >> b[i];
}
for (i = 0; i < n; i++)
{
if (a[i] > b[i])
cout << "Participant 1 wins\n";
else
cout << "Participant 2 wins\n";
}
return 0;
}
答案 0 :(得分:4)
首先,您的代码无法在大多数计算机上编译。原因? cout
和cin
是标准命名空间std
的一部分,这意味着除非使用适当的命令,否则无法访问它们。这可以通过两种方式完成:
std::cout
而不是cout
。这告诉编译器您要访问对象cout
,它是标准命名空间的一部分using namespace std;
。这将使您可以直接访问属于标准命名空间的所有内容,并且可以在您包含的标题中找到。现在让我们谈谈效率:
O(N)
降低到O(1)
。换句话说,你将拥有恒定的空间。if-else
语句缩短代码的长度。请注意,这是不一个好习惯,因为它会使您的代码非常难以阅读。全部放在一起:
#include <cstdio>
int main() {
int i, n, a, b;
scanf("%d", &n);
for(i=0; i<n; ++i) {
scanf("%d %d", &a, &b);
printf("Participant %d wins\n", (a > b) ? 1 : 2);
}
return 0;
}