测试数据有问题,读入优化无法通过

P1187 3D模型

@[陈铭](/space/show?uid=8595) 把你的读入贴上来?
by Prurite @ 2018-10-22 16:18:44


```cpp #define gc() getchar() template <class T> inline void read(T&sum){ bool f=0;char ch=gc();sum=0; while(!isdigit(ch)){if(ch=='-')f=1;ch=gc();} while(isdigit(ch)){sum=(sum<<1)+(sum<<3)+(ch^48);ch=gc();} if(f)sum=-sum; } ```
by FLASH_CM @ 2018-10-22 16:21:15


@[星烁晶熠辉](/space/show?uid=54160)
by FLASH_CM @ 2018-10-22 16:21:26


你这个有必要写template <class T>吗 反正都只能读整数
by __世界第一弱__ @ 2018-10-22 16:25:39


@[陈铭](/space/show?uid=8595) 你这个是在一直读直到读到第一个不是数字的数截止。换而言之,如输入 ``` 05201 ``` 应该被分割为 ``` 0 5 2 0 1 ``` 五个数,但是你直接读成了 ``` 5201 ``` 一个数。 请用 `getchar( )` 读入。
by Prurite @ 2018-10-22 16:50:12


附上参考读入代码 ``` for ( int i = 1; i <= n; i++ ) { getchar( ); // 吞掉换行 for ( int j = 1; j <= m; j++ ) a[i][j] = getchar( ) - '0'; } ```
by Prurite @ 2018-10-22 16:51:43


@[陈铭](/space/show?uid=8595) 然后代码过不了请先查自己的错,不要动不动就说“数据有问题”。 ## 不要怀疑一个900+人通过的题目
by Prurite @ 2018-10-22 16:52:41


@[星烁晶熠辉](/space/show?uid=54160) 我在读字符的时候并没有用快读啊,要不大佬帮忙看一下我的代码 ```cpp #include <bits/stdc++.h> using namespace std; #define ll long long #define ri register int #define gc() getchar() template <class T> inline void read(T&sum){ bool f=0;char ch=gc();sum=0; while(!isdigit(ch)){if(ch=='-')f=1;ch=gc();} while(isdigit(ch)){sum=(sum<<1)+(sum<<3)+(ch^48);ch=gc();} if(f)sum=-sum; } int n,m,num[1010][1010],ans; int main(){ int i,j,k; char ch; read(n);read(m); for(i=1;i<=n;i=-~i){ for(j=1;j<=m;j=-~j){ ch=gc(); num[i][j]=ch-'0'; } scanf("\n"); } for(i=1;i<=n;i=-~i) for(j=1;j<=m;j=-~j){ if(num[i][j]>0)ans+=2; if(num[i][j]>num[i+1][j])ans+=num[i][j]-num[i+1][j]; if(num[i][j]>num[i-1][j])ans+=num[i][j]-num[i-1][j]; if(num[i][j]>num[i][j+1])ans+=num[i][j]-num[i][j+1]; if(num[i][j]>num[i][j-1])ans+=num[i][j]-num[i][j-1]; } printf("%d",ans); return 0; } ```
by FLASH_CM @ 2018-10-23 12:50:06


@[陈铭](/space/show?uid=8595) 注意看我的代码:你在读入字符的时候**没有处理换行符**。
by Prurite @ 2018-10-23 14:56:25


@[Prurite](/space/show?uid=54160) 他有`scanf("\n")`了。。。
by Sya_Resory @ 2019-08-31 13:08:14


|