题目是AcWing.95 费解的开关
这个题一开始看到输入处理时特别头疼,而且对字符串的处理本来就是我的弱项。但是借鉴快读的方法,可以发现一种奇怪并且快速的读取方式。
那么就上一个处理模板(这个题的)吧。
bool g[N][N];
int t;
For(i,1,n){
for(int j = 1;j<=n;){
t=getchar();
if(t=='1'||t=='0')g[i][j++]=t^48;
}
}
通用模板
int g[N][N];
int t;
For(i,1,n){
for(int j = 1;j<=n;){
t=getchar();
if(t!='\n'||t!=' ')g[i][j++]=t^48;
}
}
适用域和说明
- 处理连成块的数据,但是对每一个字符都需要分开的。
- 处理数字形式更容易运算的
- 需要统一转换的(大小写,数字)
- ps:根据输入需要适当修改。
- emm,我也是做这个题才想到的。。。
t^48是干什么?
^表示异或
将数字字符转化为数字。
‘1’->1