QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#778312#9621. 连方tjf4#WA 0ms18068kbC++203.8kb2024-11-24 13:59:552024-11-24 13:59:57

Judging History

你现在查看的是最新测评结果

  • [2024-11-24 13:59:57]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:18068kb
  • [2024-11-24 13:59:55]
  • 提交

answer

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
typedef long double db;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll,ll> pii;
typedef vector<pii> vii;
typedef vector<ll> vi;
typedef vector<string> vs;
typedef vector<char> vc;
const int inf=0x3f;
const int N=2e5+10;
ll n,a[8][N],l[N],r[N];
string s,t;
void print() {
	cout<<"Yes"<<'\n';
	for(int i=1;i<=7;i++) {
		for(int j=1;j<=n;j++) {
			if(a[i][j]==1) cout<<'#';
			else cout<<'.'; 
		}
		cout<<'\n';
	}
}
int main() {
	IOS
	int T;
	cin>>T;
	map<char,int> mp;
	mp['#']=1;
	mp['.']=0;
	while(T--) {
		cin>>n>>s>>t;
		for(int i=0;i<=7;i++) {
			for(int j=0;j<=n+1;j++) {
				a[i][j]=0;
			}
		}
		for(int i=1;i<=n;i++) {
			a[1][i]=mp[s[i-1]];
			a[7][i]=mp[t[i-1]];
		}
		ll c1=0,c7=0;
		for(int i=1;i<=n;i++) {
			c1+=a[1][i];
			c7+=a[7][i];
		}
		if(c1==n&&c7==n) {
			for(int i=2;i<=6;i++) {
				for(int j=1;j<=n;j++) {
					a[i][j]=1;
				}
			}
			print();
			continue;
		}
		else if(c1==n||c7==n) {
			cout<<"No"<<'\n';
		}
		else {
			for(int i=0;i<=n+1;i++) l[i]=r[i]=0;
			for(int i=1;i<=n;i++) l[i]=l[i-1]+a[7][i];
			for(int i=n;i>=1;i--) r[i]=r[i+1]+a[7][i]; 
			int idx=0;
			for(int i=1;i<=n;i++) {
				if(i<n&&a[1][i]==0&&a[1][i+1]==1) idx=i;
				if(i>1&&a[1][i]==0&&a[1][i-1]==1) idx=i;
			}
			a[2][idx]=1;
			int lf=-1,rf=-1;
			for(int i=idx-1;i>=1;i--) {
				if(a[7][i+1]==0&&a[7][i]==1) {
					lf=i+1;
					rf=i;
					break; 
				}
			}
			for(int i=idx+1;i<=n;i++) {
				if(a[7][i-1]==0&&a[7][i]==1) {
					lf=i-1;
					rf=i;
					break;
				}
			}
			int nx=3;
			if(lf!=-1) {
				if(lf==idx) {
					if(rf>lf) {
						for(int i=rf;i<=n;i++) {
							if(a[7][i]==1) a[nx][i]=1;
							else break;
						}
					}
					else {
						for(int i=rf;i>=1;i--) {
							if(a[7][i]==1) a[nx][i]=1;
							else break;
						}
					}
					nx++;
				}
				else if(idx<lf) {
					for(int i=idx+1;i<=lf;i++) a[nx][i]=1;
					nx++;
					for(int i=rf;i<=n;i++) {
						if(a[7][i]==1) a[nx][i]=1;
						else break;
					}
					nx++;
				}
				else if(idx>lf) {
					for(int i=idx-1;i>=lf;i--) a[nx][i]=1;
					nx++;
					for(int i=rf;i>=1;i--) {
						if(a[7][i]==1) a[nx][i]=1;
						else break;
					}
					nx++;
				}
			}
			else {
				for(int i=idx-1;i>=1;i--) {
					if(a[7][i+1]==1&&a[7][i]==0) {
						lf=i+1;
						rf=i;
						break; 
					}
				}
				for(int i=idx+1;i<=n;i++) {
					if(a[7][i-1]==1&&a[7][i]==0) {
						lf=i-1;
						rf=i;
						break;
					}
				}
				nx=3;
				if(lf==idx) {
					if(rf<lf) {
						for(int i=1;i<=rf;i++) a[nx][i]=1;//4
						nx++;
						for(int i=rf+1;i<=n;i++) {
							if(a[7][i]==1) a[nx][i]=1;//5
							else break;
						}
						nx++;
					}
					else {
						for(int i=n;i>=rf;i--) a[nx][i]=1;//4
						nx++;
						for(int i=rf-1;i>=1;i--) {
							if(a[7][i]==1) a[nx][i]=1;//5
							else break;
						}
						nx++;
					}
				}
				else if(lf<idx) {
					for(int i=idx-1;i>=lf;i--) a[nx][i]=1;//3
					nx++;
					for(int i=1;i<=rf;i++) a[nx][i]=1;//4
					nx++;
					for(int i=rf+1;i<=n;i++) {
						if(a[7][i]==1) a[nx][i]=1;//5
						else break;
					}
					nx++;
				}
				else if(lf>idx) {
					for(int i=idx+1;i<=lf;i++) a[nx][i]=1;//3
					nx++;
					for(int i=n;i>=rf;i--) a[nx][i]=1;//4
					nx++;
					for(int i=rf-1;i>=1;i--) {
						if(a[7][i]==1) a[nx][i]=1;//5
						else break;
					}
					nx++;
				}
			}
			for(int i=nx;i<=6;i++) {
				for(int j=1;j<=n;j++) {
					a[i][j]=(a[7][j]^1);
				}
			}
			print();
		}
	}
	return 0;
}
//4
//4
//#..#
//.##.
//5
//##.#.
//.#.##
//6
//######
//.####.
//27
//.######.######.####.#.#####
//.####...####..#.......#####











详细

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 18068kb

input:

5
4
#..#
.##.
5
##.#.
.#.##
6
######
.####.
27
.######.######.####.#.#####
.####...####..#.......#####
10
##########
##########

output:

Yes
#..#
..#.
...#
.##.
#..#
#..#
.##.
Yes
##.#.
....#
..##.
.#...
#.#..
#.#..
.#.##
No
Yes
.######.######.####.#.#####
.....................#.....
......................#####
#....###....##.#######.....
#....###....##.#######.....
#....###....##.#######.....
.####...####..#.......#####
Yes
########...

result:

wrong answer Testcase 1: Connected condition failed.