爆零是怎样炼成的?

· · 闲话

接下来,让我们以 P10372 考场爆零代码为例,回顾一下各种可能的爆零原因。

01. AH24C063

Code

#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
    freopen(".in","r",stdin);
    freopen(".out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++){
        int a,b,c;
        char k,j;
        cin>>a>>k>>b>>j>>c;
        if(a+b==c)
            cout<<"Right!";
        else cout<<"Wrong!";
        cout<<endl;
    }
    return 0;
}

Cause

    freopen(".in","r",stdin); // PAY ATTENTION TO THIS ONE!!!
    freopen(".out","w",stdout); // PAY ATTENTION TO THIS ONE!!!

02. AH24C065

Code

#include<iostream>
using namespace std;
int main(){
    freopen("a.in","w",stdin);
    freopen("a.out","r",stdout);
    int n;cin>>n;
    for(int i=1;i<=n;i++)
    {
        int a[4]={0},o=0;string s;cin>>s;
        for(int i=0;i<s.size();i++)
            if(s[i]>='0'&&s[i]<='9')
            {
                o++;
                for(;s[i]>='0'&&s[i]<='9';i++)
                    a[o]*=10,a[o]+=s[i]-48;
            }
        if(a[1]+a[2]==a[3])cout<<"Right!";
        if(a[1]+a[2]!=a[3])cout<<"Wrong!";
        cout<<endl;
    }
    return 0;
}

Cause

    freopen("a.in","w",stdin); // PAY ATTENTION TO THIS ONE!!!
    freopen("a.out","r",stdout); // PAY ATTENTION TO THIS ONE!!!

03. AH24C076

Code

#include<bits/stdc++.h>
using namespace std;
int main(){
    freopen("a.in","r","stdin");
    freopen("a.out","w","stdout");
    int t,a[11],b[11],c[11],ans[11]={0};

    for(int i=1;i<=t;i++){
        char l,m;
        cin>>a[i];
        cin>>l;
        cin>>b[i];
        cin>>m;
        cin>>c[i];
        if(l=='+'&&a[i]+b[i]==c[i])ans[i]=1;
        else if(l=='-'&&a[i]-b[i]==c[i])ans[i]=1;
        }
        for(int i=1;i<t;i++){
            if(ans[i]==1)cout<<"Right!";
            else cout<<"Wrong!";}
            if(ans[t]==1)cout<<"Right!";
            else cout<<"Wrong!";
        return 0;
}

Cause

    freopen("a.in","r","stdin"); // PAY ATTENTION TO THIS ONE!!!
    freopen("a.out","w","stdout"); // PAY ATTENTION TO THIS ONE!!!

04. AH24C249

Code

#include <bits/stdc++.h>
using namespace std;
int t,a,b,c;
int main(){
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    cin>>t; 
    while(t--){
        cin>>a;
        getchar();
        cin>>b;
        getchar();
        cin>>c;
        getchar();
        if(a+b==c)
            cout<<"Right!\n";
        else
            cout<<"Wrong!\n";
    }
    return 0;
}/*
5
1+1=2
1+2=2
15+66=81
5+37=40
99+99=99
answer:
Right!
Wrong!
Right!
Wrong!
Wrong!
*/

Cause

        cin>>a; // PAY ATTENTION TO THIS ONE!!!
        getchar(); // PAY ATTENTION TO THIS ONE!!!
        cin>>b;
        getchar();
        cin>>c;
        getchar();

05. AH24C287

Code

#include<bits/stdc++.h>
using namespace std;
int t;
int main(){
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    cin>>t;
    while(t--){
        char s;double a,b,c;
        cin>>a>>s>>b>>s>>c;
        if(a+b==c) cout<<"Right\n";
        else cout<<"Wrong\n";
    }
    return 0;
}

Cause

        if(a+b==c) cout<<"Right\n"; // PAY ATTENTION TO THIS ONE!!!
        else cout<<"Wrong\n"; // PAY ATTENTION TO THIS ONE!!!

06. AH24C303

Code

#include <bits/stdc++.h>
using namespace std;
int main()
{
   freopen("a.in","r",stdin);
   freopen("a.out","w",stdout);
   int a,b,c,n;
   scanf("%d",&n);
   for(int i=1;i<=n;i++)
   {
   scanf("%d+%d=%d",&a,&b,&c);
   if(a+b==c)
     printf("Right!/n");
   else
     printf("Wrong!/n");
   }
   return 0;
}

Cause

   if(a+b==c)
     printf("Right!/n"); // PAY ATTENTION TO THIS ONE!!!
   else
     printf("Wrong!/n"); // PAY ATTENTION TO THIS ONE!!!
   }

07. AH24C424

Code

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
int n;
string s;
int main()
{
    freopen("a.cpp","r",stdin);
    freopen("a.cpp","w",stdout);
    scanf("%d",&n);
    while(n--)
    {
        cin>>s;
        int pos,len=(int)s.size();
        int a=0,b=0,c=0;
        for(int i=0;i<len;i++)
        {
            if(s[i]>='0' and s[i]<='9') a=a*10+(s[i]-'0');
            else {pos=i;break;}
        }
        for(int i=pos+1;i<len;i++)
        {
            if(s[i]>='0' and s[i]<='9')  b=b*10+(s[i]-'0');
            else {pos=i;break;}
        }
        for(int i=pos+1;i<len;i++)
        {
            if(s[i]>='0' and s[i]<='9') c=c*10+(s[i]-'0');
            else {pos=i;break;}
        }
        if(a+b==c) cout<<"Right!\n";
        else cout<<"Wrong!\n";
    }
    return 0;
}

Cause

    freopen("a.cpp","r",stdin);// PAY ATTENTION TO THIS ONE!!!
    freopen("a.cpp","w",stdout);// PAY ATTENTION TO THIS ONE!!!

08. AH24C468

Code

#include<iostream>
#include<cstdio>
using namespace std;
int n;
string a[15];
int main(){
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdin);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        int x=0,y=0,z=0;
        int ans;
        for(int j=0;j<4;j++){
            if(a[i][j]>='0'&&a[i][j]<='9'){
                x=x*10+a[i][j]-'0';
            }else{
                ans=j;
                break;
            }
        }
        for(int j=ans+1;j<=ans+4;j++){
            if(a[i][j]>='0'&&a[i][j]<='9'){
                y=y*10+a[i][j]-'0';
            }else{
                ans=j;
                break;
            }
        }
        for(int j=ans+1;j<a[i].size();j++){
            if(a[i][j]>='0'&&a[i][j]<='9'){
                z=z*10+a[i][j]-'0';
            }else{
                ans=j;
                break;
            }
        }
        if(x+y==z){
            cout<<"Right!"<<endl;
        }else{
            cout<<"Wrong!"<<endl;
        }
        //cout<<x+y<<endl;
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}

Cause

    freopen("a.out","w",stdin);// PAY ATTENTION TO THIS ONE!!!

09. AH24C540

Code

#include<bits/stdc++.h>
using namespace std;
int main(){
    freopen("a.in","r",stdin);
    freopen.out","w",stdout);
    long long a,b,c,d;
    char z,y;
    cin>>a;
    while(a--){
        cin>>b>>z>>c>>y>>d;
        if(b+c==d) cout<<"Right!"<<endl;
        else cout<<"Wrong!"<<endl;
    }
    return 0;
}

Cause

    freopen("a.in","r",stdin);
    freopen.out","w",stdout);// PAY ATTENTION TO THIS ONE!!!

10. AH24C550

Code

#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

int main(){
    freopen("a.in","read",stdin);
    freopen("a.out","write",stdout);
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int t;
    cin>>t;
    while(t--){
        string s;
        cin>>s;
        int a[3]={},tot=0;
        for(int i=0;i<(int)s.size();i++){
            if(s[i]>='0'&&s[i]<='9'){
                a[tot]=a[tot]*10+s[i]-'0';
            }else {
                tot++;
            }
        }
        if(a[0]+a[1]==a[2]){
            cout<<"Right!"<<endl;
        }else{
            cout<<"Wrong!"<<endl;
        }
    }
    return 0;
}

Cause

    freopen("a.in","read",stdin); // PAY ATTENTION TO THIS ONE!!!
    freopen("a.out","write",stdout); // PAY ATTENTION TO THIS ONE!!!

11. AH24C639

Code

#include<bits/stdc++.h>
using namespace std;

long long n,flag;
string s;

int main()
{

    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);

    scanf("%lld",&n);

    for(int i=1;i<=n;i++)
    {

        string cnt1="",cnt2="",cnt3="";
        flag=0;
        cin>>s;

        for(int j=0;s[j]!='\0';j++)
        {
            if(s[j]>='0'&&s[j]<='9')
            {
                if(flag==0)
                    cnt1+=s[j];
                else if(flag==1)
                    cnt2+=s[j];
                else
                    cnt3+=s[j];
            }
            else
                flag++;
        }

        if(stoi(cnt1)+stoi(cnt2)==stoi(cnt3))
            cout<<"Right!"<<endl;
        else
            cout<<"Wrong!"<<endl;

    }

    return 0;

}

Cause

string s; // PAY ATTENTION TO THIS ONE!!!
        for(int j=0;s[j]!='\0';j++) // PAY ATTENTION TO THIS ONE!!!

12. AH24C640

Code

#include<stdio.h>
int main()
{
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    int n,i,a,b,c,d;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%d+%d=%d\n",&a,&b,&c);
        d=a+b;
        if(d==c)
        {
        printf("Right!\n");
        }
        else
        {
        printf("Wrong!\n");
        }
    }
    return 0;
}

Cause

You are right, but the filename is "a.c".

13. AH24C642

Code

#include<bits/stdc++.h>
using namespace std;
int main()
{
freopen("a","r",stdin);
freopen("a","w",stdout);
int T,a,c,e;
char b='+',d='=';
cin>>T;
for(int i=1;i<=T;i++)
{
    cin>>a>>b>>c>>d>>e;
    if(a+c==e) cout<<"Right!"<<endl;
    else cout<<"Wrong!"<<endl;
}
fclose(stdin);fclose(stdout);
return 0;
}

Cause

freopen("a","r",stdin);// PAY ATTENTION TO THIS ONE!!!
freopen("a","w",stdout);// PAY ATTENTION TO THIS ONE!!!

14. AH24C653

Code

#include<bits/stdc++.h>
using namespace std;
inline int read()
{
    int c,f=1,a=0;
    c=getchar();
    while(c<'0'||c>'9')
    {
        if(c=='-')
            f=-1;
        c=getchar();
    }
    while(c>='0'&&c<='9')
    {
        a*=10;
        a+=c-'0';
        c=getchar();
    }
    return a*f;
}
int n;
string check(string a)
{
    int aa=0,b=0,c=0,i=0,f=1;
    while(a[i]>='0'&&a[i]<='9')
    {
        aa*=10;
        aa+=a[i]-'0';
        ++i;
    }
    while(a[i]<'0'||a[i]>'9')
    {
        if(a[i]=='-')
            f=-1;
        ++i;
    }
     while(a[i]>='0'&&a[i]<='9')
    {
        b*=10;
        b+=a[i]-'0';
        ++i;
    }
    i++;
     while(a[i]>='0'&&a[i]<='9')
    {
        c*=10;
        c+=a[i]-'0';
        ++i;
    }
   // cout<<aa<<" "<<b<<" "<<c<<endl;
    if(aa+f*b==c)
        return "Rignt!";
    return "Wrong!";
}
int main()
{
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    n=read();
    for(int i=1;i<=n;i++)
    {
        string a;
        cin>>a;
        cout<<check(a)<<endl;
    }
}

Cause

    if(aa+f*b==c)
        return "Rignt!"; // PAY ATTENTION TO THIS ONE!!!
    return "Wrong!";

15. AH24C663

Code

#include<bits/stdc++.h>
using namespace std;
#define For1(x,y,z) for(int i=(x);i<=(y);i+=(z))
#define For2(x,y,z) for(int j=(x);j<=(y);j+=(z))
#define For3(x,y,z) for(int k=(x);k<=(y);k+=(z))
#define foR1(x,y,z) for(int i=(x);i>=(y);i-=(z))
#define foR2(x,y,z) for(int j=(x);j>=(y);j-=(z))
#define foR3(x,y,z) for(int k=(x);k>=(y);k-=(z))
int n;
int main()
{
    freopen("a.in","r",stdin);
    freopen("a.out","w",stdout);
    cin>>n;
    while(n--)
    {
        long long a,b,c;
        scanf("%d+%d=%d",&a,&b,&c);
        if(a+b==c)cout<<"Right!";
        else cout<<"Wrong!";
        cout<<endl;
    }
    return 0;
}

Cause

        long long a,b,c;
        scanf("%d+%d=%d",&a,&b,&c); // PAY ATTENTION TO THIS ONE!!!

珍爱生命,远离爆零。