搜索小练#7
#include <iostream>
#include <cstdio>
using namespace std;
const int N = 1e4+66, INF = 250;
int T, res, len;
int a, b, i, dy;
char p[N], t[N], s[N], f[N];
int main () {
	scanf ("%d", &T);
	while (T --> 0) {
		++ i; res = a = b = 0;
		cin >> len;
		scanf ("%s%s", p+1, t+1);
		scanf ("%s", s+1);
		while (1) {
			dy = a = b = 0;
			if (res == INF) {res = -1; break;}
			for (int i = 1; i <= (len<<1); ++ i) 
				f[i] = (i&1 == 1) ? t[++a] : p[++b];
			// cout << "-->";
			// for (int i = 1; i <= (len<<1); ++ i)
				// cout<<f[i];
			// cout << '\n';
			++ res;
			for (int i = 1; i <= (len<<1); ++ i)
				if (f[i] == s[i])
					++ dy;
			if (dy == (len<<1)) break;
			for (int i = 1; i <= len; ++ i)
				p[i] = f[i], t[i] = f[len+i];
		}
		cout << i << ' ' << res << '\n';
	}
}
感觉做这个题真tm拉低我智商
这么水的数据
INF等于250 随便跑一跑就能水过“-1”
搜索个屁啊
就是个破模拟
不需要动一点脑子
花了我一个小时.....
草
垃圾题

                
            
        
浙公网安备 33010602011771号