蓝桥杯[第四届][B组]-错误票据


 第四届的题,思路不难,但是输入方式比较奇特,字符串和输入输出基础不好会耗费较多的时间,代码这里把快读改了一下,熟悉的朋友应该能很快改回来。

#include 
using namespace std;
int f[100005]= {0};
char s[100005]={0};
int p=0,in,line,c,i;
inline int read() {
    register bool b=0;
    register char ch=s[p++];
    register int x=0;
    while((ch<'0' || ch>'9') && ch!='-') ch=s[p++];
    (ch=='-') && (b=1,ch=s[p++]);
    while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=s[p++];
    return b?-x:x;
}
int main() {
    cin>>line;
    getchar();
    while(line--) {
        gets(s);
        while(p<strlen(s)) {
            in=read();
            if((++f[in])==2) c=in;
        }
        p=0;
    }
    while(f[i]==0)i++;
    while(f[i]) i++;
    cout<" "<<c;
    return 0;
}