自己帶的測資都對
丟到ZEROJUDGE上時第二筆測資會在第二行WA
資訊欄顯示
您的答案為: |*
|
正確答案為: |**
| |
找不出哪裡有錯QQ
#include <stdio.h>
int main () {
int n, m;
while(scanf("%d%d", &n, &m)!=EOF) {
char matrix[n+2][n+2];
for(int row=0;row<n+2;row++)
for(int column=0;column<n+2;column++)
matrix[column][row]=' ';
for(int i=0;i<n+2;i++) {
matrix[0][i]='|';
matrix[n+1][i]='|';
}
for(int i=0;i<n+2;i++) {
matrix[i][0]='-';
matrix[i][n+1]='-';
}
int x[m], y[m];
for(int i=0;i<m;i++)
scanf("%d%d", &x[i], &y[i]);
for(int i=0;i<m-1;i++) {
if(x[i]==x[i+1]) {
int start=(y[i]<y[i+1]) ? y[i] : y[i+1];
int end=(y[i]<y[i+1]) ? y[i+1] : y[i];
for(int j=start;j<=end;j++)
matrix[x[i]][j]='*';
}
else if(y[i]==y[i+1]) {
int start=(x[i]<x[i+1]) ? x[i] : x[i+1];
int end=(x[i]<x[i+1]) ? x[i+1] : x[i];
for(int j=start;j<=end;j++)
matrix[j][y[i]]='*';
}
}
for(int row=0;row<n+2;row++) {
for(int column=0;column<n+2;column++)
printf("%c", matrix[column][row]);
printf("\n");
}
}
return 0;
}
順道一提
第二筆測資的n是500,m是500
前幾個點依序是(1,1)、(1,2)、(2,2)、(2,3)、(3,3)、(3,4)、(4,4)、(4,5)、(5,5)、(5,6)...
二維陣列參數放反了
初始化、框架、內容、輸出
四個動作「內容」跟其他三個方向不一樣
二維陣列參數放反了
初始化、框架、內容、輸出
四個動作「內容」跟其他三個方向不一樣
謝謝!!!debug好久XD