[ABC320C] Slot Strategy 2 贪心暴力
作者:
多米尼克領主的致意
,
2024-05-17 16:36:09
,
所有人可见
,
阅读 4
三个for循环遍历O(n^3)
因为最多遍历三遍卷轴 因此将每个s延展三倍变成平面列 这样就不需要mod
#include <bits/stdc++.h>
using namespace std;
int n;
string s[4];
int mn = 0x3f3f3f3f;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n;
for(int i = 1;i <= 3;i++){
cin >> s[i];
s[i] += s[i] + s[i];
}
for(int i = 0;s[1][i];i++)
for(int j = 0;s[2][j];j++)
for(int k = 0;s[3][k];k++){
if(i == j || j == k || i == k)continue;
if(s[1][i] == s[2][j] && s[2][j] == s[3][k] && s[1][i] == s[3][k]){
int temp = max(i, k);
temp = max(temp, j);
// cout << i << " " << j << " " << k << endl;
mn = min(mn, temp);
}
}
if(mn == 0x3f3f3f3f)cout << -1;
else cout << mn;
return 0;
}