- 分享
CSP-S2023A密码锁史上超短代码
- @ 2026-10-4 14:58:06
#CSPS2023A. 密码锁
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll a[10][10];
int main(){
freopen("lock.in","r",stdin);
freopen("lock.out","w",stdout);
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=5;j++){
cin>>a[i][j];
}
}
ll ans=0;
for(int i1=0;i1<=9;i1++){
for(int i2=0;i2<=9;i2++){
for(int i3=0;i3<=9;i3++){
for(int i4=0;i4<=9;i4++){
for(int i5=0;i5<=9;i5++){
int sum=0;
if(n>=1){
if(a[1][1]!=i1 && a[1][2]==i2 && a[1][3]==i3 && a[1][4]==i4 && a[1][5]==i5) sum++;
if(a[1][1]==i1 && a[1][2]!=i2 && a[1][3]==i3 && a[1][4]==i4 && a[1][5]==i5) sum++;
if(a[1][1]==i1 && a[1][2]==i2 && a[1][3]!=i3 && a[1][4]==i4 && a[1][5]==i5) sum++;
if(a[1][1]==i1 && a[1][2]==i2 && a[1][3]==i3 && a[1][4]!=i4 && a[1][5]==i5) sum++;
if(a[1][1]==i1 && a[1][2]==i2 && a[1][3]==i3 && a[1][4]==i4 && a[1][5]!=i5) sum++;
if(a[1][1]!=i1 && a[1][2]!=i2 && a[1][3]==i3 && a[1][4]==i4 && a[1][5]==i5) if((a[1][1]+10-i1)%10==(a[1][2]+10-i2)%10) sum++;
if(a[1][1]==i1 && a[1][2]!=i2 && a[1][3]!=i3 && a[1][4]==i4 && a[1][5]==i5) if((a[1][3]+10-i3)%10==(a[1][2]+10-i2)%10) sum++;
if(a[1][1]==i1 && a[1][2]==i2 && a[1][3]!=i3 && a[1][4]!=i4 && a[1][5]==i5) if((a[1][3]+10-i3)%10==(a[1][4]+10-i4)%10) sum++;
if(a[1][1]==i1 && a[1][2]==i2 && a[1][3]==i3 && a[1][4]!=i4 && a[1][5]!=i5) if((a[1][4]+10-i4)%10==(a[1][5]+10-i5)%10) sum++;
}
if(n>=2){
if(a[2][1]!=i1 && a[2][2]==i2 && a[2][3]==i3 && a[2][4]==i4 && a[2][5]==i5) sum++;
if(a[2][1]==i1 && a[2][2]!=i2 && a[2][3]==i3 && a[2][4]==i4 && a[2][5]==i5) sum++;
if(a[2][1]==i1 && a[2][2]==i2 && a[2][3]!=i3 && a[2][4]==i4 && a[2][5]==i5) sum++;
if(a[2][1]==i1 && a[2][2]==i2 && a[2][3]==i3 && a[2][4]!=i4 && a[2][5]==i5) sum++;
if(a[2][1]==i1 && a[2][2]==i2 && a[2][3]==i3 && a[2][4]==i4 && a[2][5]!=i5) sum++;
if(a[2][1]!=i1 && a[2][2]!=i2 && a[2][3]==i3 && a[2][4]==i4 && a[2][5]==i5) if((a[2][1]+10-i1)%10==(a[2][2]+10-i2)%10) sum++;
if(a[2][1]==i1 && a[2][2]!=i2 && a[2][3]!=i3 && a[2][4]==i4 && a[2][5]==i5) if((a[2][3]+10-i3)%10==(a[2][2]+10-i2)%10) sum++;
if(a[2][1]==i1 && a[2][2]==i2 && a[2][3]!=i3 && a[2][4]!=i4 && a[2][5]==i5) if((a[2][3]+10-i3)%10==(a[2][4]+10-i4)%10) sum++;
if(a[2][1]==i1 && a[2][2]==i2 && a[2][3]==i3 && a[2][4]!=i4 && a[2][5]!=i5) if((a[2][4]+10-i4)%10==(a[2][5]+10-i5)%10) sum++;
}
if(n>=3){
if(a[3][1]!=i1 && a[3][2]==i2 && a[3][3]==i3 && a[3][4]==i4 && a[3][5]==i5) sum++;
if(a[3][1]==i1 && a[3][2]!=i2 && a[3][3]==i3 && a[3][4]==i4 && a[3][5]==i5) sum++;
if(a[3][1]==i1 && a[3][2]==i2 && a[3][3]!=i3 && a[3][4]==i4 && a[3][5]==i5) sum++;
if(a[3][1]==i1 && a[3][2]==i2 && a[3][3]==i3 && a[3][4]!=i4 && a[3][5]==i5) sum++;
if(a[3][1]==i1 && a[3][2]==i2 && a[3][3]==i3 && a[3][4]==i4 && a[3][5]!=i5) sum++;
if(a[3][1]!=i1 && a[3][2]!=i2 && a[3][3]==i3 && a[3][4]==i4 && a[3][5]==i5) if((a[3][1]+10-i1)%10==(a[3][2]+10-i2)%10) sum++;
if(a[3][1]==i1 && a[3][2]!=i2 && a[3][3]!=i3 && a[3][4]==i4 && a[3][5]==i5) if((a[3][3]+10-i3)%10==(a[3][2]+10-i2)%10) sum++;
if(a[3][1]==i1 && a[3][2]==i2 && a[3][3]!=i3 && a[3][4]!=i4 && a[3][5]==i5) if((a[3][3]+10-i3)%10==(a[3][4]+10-i4)%10) sum++;
if(a[3][1]==i1 && a[3][2]==i2 && a[3][3]==i3 && a[3][4]!=i4 && a[3][5]!=i5) if((a[3][4]+10-i4)%10==(a[3][5]+10-i5)%10) sum++;
}
if(n>=4){
if(a[4][1]!=i1 && a[4][2]==i2 && a[4][3]==i3 && a[4][4]==i4 && a[4][5]==i5) sum++;
if(a[4][1]==i1 && a[4][2]!=i2 && a[4][3]==i3 && a[4][4]==i4 && a[4][5]==i5) sum++;
if(a[4][1]==i1 && a[4][2]==i2 && a[4][3]!=i3 && a[4][4]==i4 && a[4][5]==i5) sum++;
if(a[4][1]==i1 && a[4][2]==i2 && a[4][3]==i3 && a[4][4]!=i4 && a[4][5]==i5) sum++;
if(a[4][1]==i1 && a[4][2]==i2 && a[4][3]==i3 && a[4][4]==i4 && a[4][5]!=i5) sum++;
if(a[4][1]!=i1 && a[4][2]!=i2 && a[4][3]==i3 && a[4][4]==i4 && a[4][5]==i5) if((a[4][1]+10-i1)%10==(a[4][2]+10-i2)%10) sum++;
if(a[4][1]==i1 && a[4][2]!=i2 && a[4][3]!=i3 && a[4][4]==i4 && a[4][5]==i5) if((a[4][3]+10-i3)%10==(a[4][2]+10-i2)%10) sum++;
if(a[4][1]==i1 && a[4][2]==i2 && a[4][3]!=i3 && a[4][4]!=i4 && a[4][5]==i5) if((a[4][3]+10-i3)%10==(a[4][4]+10-i4)%10) sum++;
if(a[4][1]==i1 && a[4][2]==i2 && a[4][3]==i3 && a[4][4]!=i4 && a[4][5]!=i5) if((a[4][4]+10-i4)%10==(a[4][5]+10-i5)%10) sum++;
}
if(n>=5){
if(a[5][1]!=i1 && a[5][2]==i2 && a[5][3]==i3 && a[5][4]==i4 && a[5][5]==i5) sum++;
if(a[5][1]==i1 && a[5][2]!=i2 && a[5][3]==i3 && a[5][4]==i4 && a[5][5]==i5) sum++;
if(a[5][1]==i1 && a[5][2]==i2 && a[5][3]!=i3 && a[5][4]==i4 && a[5][5]==i5) sum++;
if(a[5][1]==i1 && a[5][2]==i2 && a[5][3]==i3 && a[5][4]!=i4 && a[5][5]==i5) sum++;
if(a[5][1]==i1 && a[5][2]==i2 && a[5][3]==i3 && a[5][4]==i4 && a[5][5]!=i5) sum++;
if(a[5][1]!=i1 && a[5][2]!=i2 && a[5][3]==i3 && a[5][4]==i4 && a[5][5]==i5) if((a[5][1]+10-i1)%10==(a[5][2]+10-i2)%10) sum++;
if(a[5][1]==i1 && a[5][2]!=i2 && a[5][3]!=i3 && a[5][4]==i4 && a[5][5]==i5) if((a[5][3]+10-i3)%10==(a[5][2]+10-i2)%10) sum++;
if(a[5][1]==i1 && a[5][2]==i2 && a[5][3]!=i3 && a[5][4]!=i4 && a[5][5]==i5) if((a[5][3]+10-i3)%10==(a[5][4]+10-i4)%10) sum++;
if(a[5][1]==i1 && a[5][2]==i2 && a[5][3]==i3 && a[5][4]!=i4 && a[5][5]!=i5) if((a[5][4]+10-i4)%10==(a[5][5]+10-i5)%10) sum++;
}
if(n>=6){
if(a[6][1]!=i1 && a[6][2]==i2 && a[6][3]==i3 && a[6][4]==i4 && a[6][5]==i5) sum++;
if(a[6][1]==i1 && a[6][2]!=i2 && a[6][3]==i3 && a[6][4]==i4 && a[6][5]==i5) sum++;
if(a[6][1]==i1 && a[6][2]==i2 && a[6][3]!=i3 && a[6][4]==i4 && a[6][5]==i5) sum++;
if(a[6][1]==i1 && a[6][2]==i2 && a[6][3]==i3 && a[6][4]!=i4 && a[6][5]==i5) sum++;
if(a[6][1]==i1 && a[6][2]==i2 && a[6][3]==i3 && a[6][4]==i4 && a[6][5]!=i5) sum++;
if(a[6][1]!=i1 && a[6][2]!=i2 && a[6][3]==i3 && a[6][4]==i4 && a[6][5]==i5) if((a[6][1]+10-i1)%10==(a[6][2]+10-i2)%10) sum++;
if(a[6][1]==i1 && a[6][2]!=i2 && a[6][3]!=i3 && a[6][4]==i4 && a[6][5]==i5) if((a[6][3]+10-i3)%10==(a[6][2]+10-i2)%10) sum++;
if(a[6][1]==i1 && a[6][2]==i2 && a[6][3]!=i3 && a[6][4]!=i4 && a[6][5]==i5) if((a[6][3]+10-i3)%10==(a[6][4]+10-i4)%10) sum++;
if(a[6][1]==i1 && a[6][2]==i2 && a[6][3]==i3 && a[6][4]!=i4 && a[6][5]!=i5) if((a[6][4]+10-i4)%10==(a[6][5]+10-i5)%10) sum++;
}
if(n>=7){
if(a[7][1]!=i1 && a[7][2]==i2 && a[7][3]==i3 && a[7][4]==i4 && a[7][5]==i5) sum++;
if(a[7][1]==i1 && a[7][2]!=i2 && a[7][3]==i3 && a[7][4]==i4 && a[7][5]==i5) sum++;
if(a[7][1]==i1 && a[7][2]==i2 && a[7][3]!=i3 && a[7][4]==i4 && a[7][5]==i5) sum++;
if(a[7][1]==i1 && a[7][2]==i2 && a[7][3]==i3 && a[7][4]!=i4 && a[7][5]==i5) sum++;
if(a[7][1]==i1 && a[7][2]==i2 && a[7][3]==i3 && a[7][4]==i4 && a[7][5]!=i5) sum++;
if(a[7][1]!=i1 && a[7][2]!=i2 && a[7][3]==i3 && a[7][4]==i4 && a[7][5]==i5) if((a[7][1]+10-i1)%10==(a[7][2]+10-i2)%10) sum++;
if(a[7][1]==i1 && a[7][2]!=i2 && a[7][3]!=i3 && a[7][4]==i4 && a[7][5]==i5) if((a[7][3]+10-i3)%10==(a[7][2]+10-i2)%10) sum++;
if(a[7][1]==i1 && a[7][2]==i2 && a[7][3]!=i3 && a[7][4]!=i4 && a[7][5]==i5) if((a[7][3]+10-i3)%10==(a[7][4]+10-i4)%10) sum++;
if(a[7][1]==i1 && a[7][2]==i2 && a[7][3]==i3 && a[7][4]!=i4 && a[7][5]!=i5) if((a[7][4]+10-i4)%10==(a[7][5]+10-i5)%10) sum++;
}
if(n>=8){
if(a[8][1]!=i1 && a[8][2]==i2 && a[8][3]==i3 && a[8][4]==i4 && a[8][5]==i5) sum++;
if(a[8][1]==i1 && a[8][2]!=i2 && a[8][3]==i3 && a[8][4]==i4 && a[8][5]==i5) sum++;
if(a[8][1]==i1 && a[8][2]==i2 && a[8][3]!=i3 && a[8][4]==i4 && a[8][5]==i5) sum++;
if(a[8][1]==i1 && a[8][2]==i2 && a[8][3]==i3 && a[8][4]!=i4 && a[8][5]==i5) sum++;
if(a[8][1]==i1 && a[8][2]==i2 && a[8][3]==i3 && a[8][4]==i4 && a[8][5]!=i5) sum++;
if(a[8][1]!=i1 && a[8][2]!=i2 && a[8][3]==i3 && a[8][4]==i4 && a[8][5]==i5) if((a[8][1]+10-i1)%10==(a[8][2]+10-i2)%10) sum++;
if(a[8][1]==i1 && a[8][2]!=i2 && a[8][3]!=i3 && a[8][4]==i4 && a[8][5]==i5) if((a[8][3]+10-i3)%10==(a[8][2]+10-i2)%10) sum++;
if(a[8][1]==i1 && a[8][2]==i2 && a[8][3]!=i3 && a[8][4]!=i4 && a[8][5]==i5) if((a[8][3]+10-i3)%10==(a[8][4]+10-i4)%10) sum++;
if(a[8][1]==i1 && a[8][2]==i2 && a[8][3]==i3 && a[8][4]!=i4 && a[8][5]!=i5) if((a[8][4]+10-i4)%10==(a[8][5]+10-i5)%10) sum++;
}
if(sum==n){
ans++;
}
}
}
}
}
}
cout<<ans;
return 0;
}
1 条评论
-
liangxuanming LV 6 @ 2026-10-25 9:23:42真.短
- 1