求条
查看原帖
求条
753640
封禁用户楼主2024/7/30 10:11

找不到 Hack 数据啊。

#include<bits/stdc++.h>
#define sd std::
//#define int long long
#define inf 0x3f3f3f3f
#define linf 1e18
#define il inline
#define db double
#define ldb long double
#define F(i,a,b) for(int i=(a);i<=(b);i++)
#define f(i,a,b) for(int i=(a);i>=(b);i--)
#define MIN(x,y) (x<y?x:y)
#define MAX(x,y) (x>y?x:y)
#define me(x,y) memset(x,y,sizeof x)
#define pii sd pair<int,int>
#define umap(x,y) sd unordered_map<x,y>
#define pque(x) sd priority_queue<x>
#define X first
#define Y second
#define kg putchar(' ')
#define Fr(a) for(auto it:a)
#define dbg(x) sd cout<<#x<<": "<<x<<sd endl
il int read(){int w=1,c=0;char ch=getchar();for(;ch>'9'||ch<'0';ch=getchar()) if(ch=='-') w=-1;for(;ch>='0'&&ch<='9';ch=getchar()) c=(c<<3)+(c<<1)+ch-48;return w*c;}
void printt(int x){if(x>9) printt(x/10);putchar(x%10+48);}
il void print(int x){if(x<0) putchar('-'),printt(-x);else printt(x);}
il void put(int x){print(x);putchar('\n');}
il void printk(int x){print(x);kg;}
const int N=3e5+10;
int n;
char s[10][N],ans[N];
int t1[10],t2[10];//t1为1的个数,t2为2的个数 
int cnt;
int solve(int x,int y)//第x个字符串和第y个字符串的答案 
{
	cnt=0;
	int j=1;
	F(i,1,2*n)
	{
		while(j<=2*n&&s[y][j]!=s[x][i]) ans[++cnt]=s[y][j++];
		if(j<=2*n) ans[++cnt]=s[y][j++];
		else ans[++cnt]=s[x][i];
	}
//	dbg(x);
//	dbg(y);
//	F(i,1,cnt) printf("%c",ans[i]);
//	puts("");
	if(cnt<=3*n)
	{
		F(i,1,cnt) printf("%c",ans[i]);
		puts("");
		return 1;
	}
	return 0;
}
il void solve()
{
	n=read();
	scanf("%s%s%s",s[1]+1,s[2]+1,s[3]+1);
	if(solve(1,2)) return;
	if(solve(1,3)) return;
	if(solve(2,3)) return;
	puts("叽里呱啦"); 
}
int main()
{
	int T;
	T=read();
	while(T--) solve();
    return 0;
}
2024/7/30 10:11
加载中...