所有測試全都是對的,然後全 WA 求助
查看原帖
所有測試全都是對的,然後全 WA 求助
408019
ShanCreeperProEnder楼主2022/8/25 21:45

3 個樣例全部正確。

自己下載的數據點 1 本機和數據輸出完全一致:

https://code.trainoi.com/compare/354/355

這是我的 Code\texttt{Code}

#include<bits/stdc++.h>

#define int long long
#define fore(i,x,n) for(int i=x;i<=n;i++)

const int MAXX=10005;
const int mod=1;

inline int __read(){
	int x=0,f=1;char ch=getchar();
	while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}
	while(isdigit(ch)){x=x*10+ch-48;ch=getchar();}
	return x*f;
}

inline void __write(int x){
    if(x<0) putchar('-'),x=-x;
    if(x>9) __write(x/10);
    putchar(x%10+'0');
}

inline void __writesp(int x){
    __write(x);
    putchar(' ');
}

inline void __writeln(int x){
    __write(x);
    putchar('\n');
}

class Name
{
private:

public:

protected:

};

int T,n;
std::string rans;
std::string ab;
std::string ans;
std::string id;

inline int octid(std::string a){
	int total=0,k=0;
	for(int i=15;i>=0;i--) {
		if(a[i]=='1') total+=pow(2,k);
		k++;
	}
	return total;
}


signed main(){

#ifdef LOCAL
    freopen("debug_data.in","r",stdin);
    freopen("debug_data.out","w",stdout);
#endif

    T=__read(); n=__read();
    double s=100.0/n;

    getline(std::cin,rans);

    while(T--){
        bool flag=true;

        getline(std::cin,id);
        getline(std::cin,ab);

        int sid=octid(id);

        if(sid>=1&&sid<=10000)
            printf("ID: %lld\n",sid);
        else{ 
            puts("Wrong ID\n");
            flag=false;
        }

        char lastnum=id[15];

        //std::cout<<lastnum<<std::endl;

        char a=ab[0];
        char b=ab[1];

        if(lastnum=='0'){
            if(flag) 
                puts(a=='1'&&b=='0'?"Type Correct":"Type Incorrect");
        }
        else{
            if(flag)
                puts(a=='0'&&b=='1'?"Type Correct":"Type Incorrect");
        }

        double ssum=0;

        fore(i,0,n-1){
            getline(std::cin,ans);

            char pans;

            if(ans=="1000") pans='A';
            else if(ans=="0100") pans='B';
            else if(ans=="0010") pans='C';
            else if(ans=="0001") pans='D';
            else continue;

            if(pans==rans[i]) ssum+=s;
        }
        if(flag) printf("%.1lf\n\n",ssum);
    }
}
2022/8/25 21:45
加载中...