大佬看看为什么只有70分啊

P1746 离开中山路

@[happycodehaha](/user/1482771) 下标错位了,`scanf` 后面加上 `sprintf(map[i], "%s%s", "1", map[i]);`
by 杜都督 @ 2024-10-11 23:47:20


```cpp for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>map[i][j]; } ``` @[杜都督](/user/39279) 用sprintf通不过,本来我是一层循环改成双层循环输入通过了,大佬问一下为什么原来一层循环输入下标会错位啊,关注你了
by LittleOcean @ 2024-10-12 19:03:18


@[happycodehaha](/user/1482771) 不是把 `scanf` 换成 `sprintf`,是在 `scanf` 那一行后面加一行 `sprintf` 因为你原来用字符串的方式输入 `map` 的每一行时,字符串默认下标是从 `0` 开始的,而题目约定的下标是从 `1` 开始的,所以读到的数据每一行的下标都比正确的数据向左偏移了一位 用 `sprintf` 是在读入每一行后都在前面加一个 `1`,用来对齐下标
by 杜都督 @ 2024-10-12 19:26:29


@[杜都督](/user/39279) 懂了谢谢
by LittleOcean @ 2024-10-13 17:17:04


|