求调
查看原帖
求调
272729
Steveone123楼主2023/11/1 00:36

赛时的脑抽代码

#include<bits/stdc++.h>
using namespace std;
int mem1[5][10];
int mem2[4][100];
int main(){
    //ios::sync_with_stdio(0);
    //cin.tie(0);
    //cout.tie(0);
    //freopen("lock.in","r",stdin);
    //freopen("lock.out","w",stdout);
    int n;
    cin>>n;
    int now[5];
    for(int i=1;i<=n;i++){
        for(int j=0;j<5;j++){
            cin>>now[j];
            mem1[j][now[j]]++;
        }
        for(int j=0;j<4;j++){
            int j2=j+1;
            mem2[j][now[j]*10+now[j2]]++;
        }
    }
    int ans=0;
    for(int i=0;i<5;i++){
        int cnt=10;
        for(int j=0;j<10;j++){
            if(mem1[i][j]>1){
                cnt=0;
            }else if(mem1[i][j]==1){
                cnt--;
            }
        }
        ans+=max(cnt,0);
    }
    bool situation=1;
    for(int i=0;i<4;i++){
        int cntp=10;
        int cntpp=0;
        for(int j=0;j<100;j++){
            if(mem2[i][j]==1){
                cntp--;
                cntpp++;
            }else if(mem2[i][j]>1){
                cntp=-99999;
                situation=0;
            }
        }
        if(situation)ans+=cntp;
        else ans+=cntpp;
    }
    cout<<ans;
    fclose(stdin);
    fclose(stdout);
    return 0;
}
2023/11/1 00:36
加载中...