如题
#include<iostream>
using namespace std;
struct num {
int a,b,c,d,e;
};
int n;
int a[5];
num ans[100];
int k=0;
bool yes[100];
// int trans(int b,int c,int d,int e,int f) return b*10000+c*1000+d*100+e*10+f;
void init();
void solve();
int main() {
freopen("lock.in","r",stdin);
freopen("lock.out","w",stdout);
cin>>n;
cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4];
init();
// for(int i=0;i<k;i++) {
// cout<<ans[i].a<<ans[i].b<<ans[i].c<<ans[i].d<<ans[i].e<<endl;
// }
for(int i=1;i<n;i++) {
cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4];
solve();
}
int cnt=0;
for(int i=0;i<k;i++) if(yes[i]) cnt++;
cout<<cnt<<endl;
fclose(stdin);
fclose(stdout);
return 0;
}
void solve() {
bool flag;
for(int i=0;i<k;i++) {
if(!yes[i]) continue;
if(ans[i].a==a[0]&&ans[i].b==a[1]&&ans[i].c==a[2]&&ans[i].d==a[3]&&ans[i].e==a[4]) {
yes[i]=false;
continue;
}
flag=true;
if(ans[i].b==a[1]&&ans[i].c==a[2]&&ans[i].d==a[3]&&ans[i].e==a[4]) flag=false; // 0
if(ans[i].a==a[0]&&ans[i].c==a[2]&&ans[i].d==a[3]&&ans[i].e==a[4]) flag=false; // 1
if(ans[i].a==a[0]&&ans[i].b==a[1]&&ans[i].d==a[3]&&ans[i].e==a[4]) flag=false; // 2
if(ans[i].a==a[0]&&ans[i].b==a[1]&&ans[i].c==a[2]&&ans[i].e==a[4]) flag=false; // 3
if(ans[i].a==a[0]&&ans[i].b==a[1]&&ans[i].c==a[2]&&ans[i].d==a[3]) flag=false; // 4
if(ans[i].c==a[2]&&ans[i].d==a[3]&&ans[i].e==a[4] && ans[i].a-a[0]==ans[i].b-a[1]) flag=false; // 0 1
if(ans[i].a==a[0]&&ans[i].d==a[3]&&ans[i].e==a[4] && ans[i].b-a[1]==ans[i].c-a[2]) flag=false; // 1 2
if(ans[i].a==a[0]&&ans[i].b==a[1]&&ans[i].e==a[4] && ans[i].c-a[2]==ans[i].d-a[3]) flag=false; // 2 3
if(ans[i].a==a[0]&&ans[i].b==a[1]&&ans[i].c==a[2] && ans[i].d-a[3]==ans[i].e-a[4]) flag=false; // 3 4
if(flag) yes[i]=false;
}
return;
}
void init() {
for(int i=1;i<=9;i++) {
yes[k]=true;
ans[k].a=(a[0]+i)%10;
ans[k].b=a[1];
ans[k].c=a[2];
ans[k].d=a[3];
ans[k++].e=a[4];
yes[k]=true;
ans[k].a=a[0];
ans[k].b=(a[1]+i)%10;
ans[k].c=a[2];
ans[k].d=a[3];
ans[k++].e=a[4];
yes[k]=true;
ans[k].a=a[0];
ans[k].b=a[1];
ans[k].c=(a[2]+i)%10;
ans[k].d=a[3];
ans[k++].e=a[4];
yes[k]=true;
ans[k].a=a[0];
ans[k].b=a[1];
ans[k].c=a[2];
ans[k].d=(a[3]+i)%10;
ans[k++].e=a[4];
yes[k]=true;
ans[k].a=a[0];
ans[k].b=a[1];
ans[k].c=a[2];
ans[k].d=a[3];
ans[k++].e=(a[4]+i)%10;
yes[k]=true;
ans[k].a=(a[0]+i)%10;
ans[k].b=(a[1]+i)%10;
ans[k].c=a[2];
ans[k].d=a[3];
ans[k++].e=a[4];
yes[k]=true;
ans[k].a=a[0];
ans[k].b=(a[1]+i)%10;
ans[k].c=(a[2]+i)%10;
ans[k].d=a[3];
ans[k++].e=a[4];
yes[k]=true;
ans[k].a=a[0];
ans[k].b=a[1];
ans[k].c=(a[2]+i)%10;
ans[k].d=(a[3]+i)%10;
ans[k++].e=a[4];
yes[k]=true;
ans[k].a=a[0];
ans[k].b=a[1];
ans[k].c=a[2];
ans[k].d=(a[3]+i)%10;
ans[k++].e=(a[4]+i)%10;
}
return;
}
第一题没AC是不是即使在TJ也没法玩了(