逆天写法:
#include<bits/stdc++.h>
using namespace std;
int n;
int lock[12][12],base[12];
map<int,int> rec;
bool vis[100002];
queue<int> q;
int main()
{
freopen("lock.in","r",stdin);
freopen("lock.out","w",stdout);
cin>>n;
int x;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=5;j++)
{
cin>>lock[i][j];
base[i]=base[i]*10+lock[i][j];
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<5;j++)//同时拨两位
{
for(int k=1;k<=10;k++)
{
lock[i][j]=(lock[i][j]+1)%10;
lock[i][j+1]=(lock[i][j+1]+1)%10;
if(k!=10)
{
rec[lock[i][1]*10000+lock[i][2]*1000+lock[i][3]*100+lock[i][4]*10+lock[i][5]]++;
}
}
}
for(int j=1;j<=5;j++)//只拨一位
{
for(int k=1;k<=10;k++)
{
lock[i][j]=(lock[i][j]+1)%10;
if(k!=10)
{
rec[lock[i][1]*10000+lock[i][2]*1000+lock[i][3]*100+lock[i][4]*10+lock[i][5]]++;
}
}
}
}
int ans=0;
for(map<int,int>::iterator it=rec.begin();it!=rec.end();it++)
{
if(it->second==n)
{
ans++;
}
}
cout<<ans;
return 0;
}
这个代码会CE,原因是 <mutex> 头文件中有 std::lock 这个函数,改成其他名就AC了
因为这个我保龄了,下次只会写abc变量名了