你能把上面我的代码优化一下让运行时间更短吗
时间: 2023-08-18 17:58:38 浏览: 108
当输入的矩阵是对称矩阵时,只需比较对称位置的元素是否相等即可。可以通过以下方式进行优化:
```cpp
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) && n != 0) {
int a[n][n];
int t = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (a[i][j] != a[j][i]) {
t = 0;
break;
}
}
if (t == 0) {
break;
}
}
if (t == 0) {
printf("No.\n");
} else {
printf("Yes.\n");
}
}
return 0;
}
```
这段代码在逻辑上与你提供的代码相同,但进行了一些微调。请注意,即使进行了优化,运行时间也取决于输入数据的规模。在某些情况下,可能无法进一步缩短运行时间。
阅读全文