QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#820312#9884. Grid Constructionas_lyrWA 4ms4708kbC++143.4kb2024-12-18 20:54:382024-12-18 20:54:40

Judging History

This is the latest submission verdict.

  • [2024-12-18 20:54:40]
  • Judged
  • Verdict: WA
  • Time: 4ms
  • Memory: 4708kb
  • [2024-12-18 20:54:38]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;
const int N=1100;
char a[N][N];
void worka(int x,int y){
	                                a[x+0][y+0]='^';
	                a[x+1][y-1]='<',a[x+1][y+0]='<',a[x+1][y+1]='^';
	a[x+2][y-2]='<',a[x+2][y-1]='v',a[x+2][y+0]='.',a[x+2][y+1]='^',a[x+2][y+2]='>';
	                a[x+3][y-1]='v',a[x+3][y+0]='>',a[x+3][y+1]='>';
	                                a[x+4][y+0]='v';
}
void workb(int x,int y){
	                                a[x+0][y+0]='^';
	                a[x+1][y-1]='<',a[x+1][y+0]='^',a[x+1][y+1]='>';
	a[x+2][y-2]='<',a[x+2][y-1]='v',a[x+2][y+0]='>';
	                a[x+3][y-1]='v';
}
void solve(int n,int m,int x,int y){
	if(n==0||m==0)
		return ;
	if(n==3&&m==3){
		a[x+0][y+0]='<',a[x+0][y+1]='<',a[x+0][y+2]='^';
		a[x+1][y+0]='v',a[x+1][y+1]='.',a[x+1][y+2]='^';
		a[x+2][y+0]='v',a[x+2][y+1]='>',a[x+2][y+2]='>';
		return ;
	}
	if(n==5&&m==5){
		a[x+0][y+0]='<',a[x+0][y+1]='<',a[x+0][y+2]='<',a[x+0][y+3]='<',a[x+0][y+4]='^';
		a[x+1][y+0]='v',a[x+1][y+1]='.',a[x+1][y+2]='v',a[x+1][y+3]='.',a[x+1][y+4]='^';
		a[x+2][y+0]='v',a[x+2][y+1]='>',a[x+2][y+2]='.',a[x+2][y+3]='<',a[x+2][y+4]='^';
		a[x+3][y+0]='v',a[x+3][y+1]='.',a[x+3][y+2]='^',a[x+3][y+3]='.',a[x+3][y+4]='^';
		a[x+4][y+0]='v',a[x+4][y+1]='>',a[x+4][y+2]='>',a[x+4][y+3]='>',a[x+4][y+4]='>';
		return ;
	}
	for(int i=0;i<m-1;i+=1) a[x][y+i]='<';
	for(int i=0;i<n-1;i+=1) a[x+i][y+m-1]='^';
	for(int i=1;i<m-0;i+=1) a[x+n-1][y+i]='>';
	for(int i=1;i<n-0;i+=1) a[x+i][y]='v';
	for(int i=2;i<m-2;i+=2) a[x+1][y+i]='v';
	for(int i=2;i<n-2;i+=2) a[x+i][y+m-2]='<';
	for(int i=2;i<m-2;i+=2) a[x+n-2][y+i]='^';
	for(int i=2;i<n-2;i+=2) a[x+i][y+1]='>';
	if(n==9){
		for(int i=3;i<m-4;i+=6) a[x+2][y+i+0]='<',a[x+2][y+i+1]='v',a[x+3][y+i+1]='v',a[x+2][y+i+2]='>';
		for(int i=3;i<m-4;i+=6) a[x+6][y+i+0]='<',a[x+6][y+i+1]='^',a[x+5][y+i+1]='^',a[x+6][y+i+2]='>';
		a[x+3][y+2]='^',a[x+4][y+2]='>',a[x+4][y+3]='>',a[x+5][y+2]='v';
		a[x+3][y+m-3]='^',a[x+4][y+m-3]='<',a[x+4][y+m-4]='<',a[x+5][y+m-3]='v';
		for(int i=7;i<m-7;i+=6)
			worka(x+2,y+i);
		return ;
	}
	if(n==11){
		for(int i=3;i<m-6;i+=6) a[x+2][y+i+0]='<',a[x+2][y+i+1]='v',a[x+3][y+i+1]='v',a[x+2][y+i+2]='>';
		for(int i=5;i<m-4;i+=6) a[x+8][y+i+0]='<',a[x+8][y+i+1]='^',a[x+7][y+i+1]='^',a[x+8][y+i+2]='>';
		a[x+3][y+2]='^',a[x+4][y+2]='>',a[x+4][y+3]='>',a[x+5][y+2]='v';
		a[x+5][y+m-3]='^',a[x+6][y+m-3]='<',a[x+6][y+m-4]='<',a[x+7][y+m-3]='v';
		for(int i=7;i<m-9;i+=6)
			worka(x+2,y+i);
		workb(x+2,y+m-4);
		for(int i=4;i<m-6;i+=6)
			workb(x+5,y+i);
		return ;
	}
	for(int i=3;i<n-3;i+=2) a[x+2][y+i]='^';
	for(int i=3;i<n-3;i+=2) a[x+i][y+m-3]='>';
	for(int i=3;i<m-3;i+=2) a[x+n-3][y+i]='v';
	for(int i=3;i<n-3;i+=2) a[x+i][y+2]='<';
	solve(n-6,m-6,x+3,y+3);
}
int main(){
	int n,m;
	scanf("%d%d",&n,&m);
	if(n==2&&m==2){
		puts("Yes");
		puts("<^");
		puts("v>");
		return 0;
	}
	bool ok=0;
	if(n>m){
		swap(n,m);
		ok=1;
	}
	if((n&1)==0||(m&1)==0||n%6!=m%6||n%6==1||(n==3&&m>6)||(n==5&&m>6)){
		puts("No");
		return 0;
	}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			a[i][j]='.';
	solve(n,m,1,1);
	puts("Yes");
	if(ok==0)
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++)
				putchar(a[i][j]);
			putchar('\n');
		}
	else 
		for(int i=1;i<=m;i++){
			for(int j=1;j<=n;j++)
				putchar(a[j][i]);
			putchar('\n');
		}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3848kb

input:

3 3

output:

Yes
<<^
v.^
v>>

result:

ok Correct

Test #2:

score: 0
Accepted
time: 0ms
memory: 3700kb

input:

4 4

output:

No

result:

ok Correct : No

Test #3:

score: 0
Accepted
time: 0ms
memory: 3792kb

input:

4 5

output:

No

result:

ok Correct : No

Test #4:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

11 17

output:

Yes
<<<<<<<<<<<<<<<<^
v.v.v.v.v.v.v.v.^
v>.<v>.^.<v>.^.<^
v.^.v.<<^.v.<^>.^
v>>>.<v.^>.<v>.<^
v.v.^.v>>.^.v.^.^
v>.<^>.v.<^>.<<<^
v.<v>.^.<v>.^.v.^
v>.v.<^>.v.<^>.<^
v.^.^.^.^.^.^.^.^
v>>>>>>>>>>>>>>>>

result:

ok Correct

Test #5:

score: 0
Accepted
time: 0ms
memory: 3704kb

input:

1000 1000

output:

No

result:

ok Correct : No

Test #6:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

6 6

output:

No

result:

ok Correct : No

Test #7:

score: 0
Accepted
time: 0ms
memory: 3764kb

input:

7 7

output:

No

result:

ok Correct : No

Test #8:

score: 0
Accepted
time: 0ms
memory: 3776kb

input:

8 8

output:

No

result:

ok Correct : No

Test #9:

score: 0
Accepted
time: 0ms
memory: 3772kb

input:

9 9

output:

Yes
<<<<<<<<^
v.v.v.v.^
v>.<v>.<^
v.^.v.^.^
v>>>.<<<^
v.v.^.v.^
v>.<^>.<^
v.^.^.^.^
v>>>>>>>>

result:

ok Correct

Test #10:

score: 0
Accepted
time: 0ms
memory: 3776kb

input:

3 9

output:

No

result:

ok Correct : No

Test #11:

score: 0
Accepted
time: 0ms
memory: 3720kb

input:

15 3

output:

No

result:

ok Correct : No

Test #12:

score: 0
Accepted
time: 0ms
memory: 3820kb

input:

5 11

output:

No

result:

ok Correct : No

Test #13:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

605 5

output:

No

result:

ok Correct : No

Test #14:

score: 0
Accepted
time: 4ms
memory: 4704kb

input:

999 999

output:

Yes
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<...

result:

ok Correct

Test #15:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

9 999

output:

Yes
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<...

result:

ok Correct

Test #16:

score: 0
Accepted
time: 0ms
memory: 4708kb

input:

995 995

output:

Yes
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<...

result:

ok Correct

Test #17:

score: -100
Wrong Answer
time: 0ms
memory: 3716kb

input:

995 11

output:

Yes
<vvvvvvvvvv
<.>.>.>.>.>
<v.^>v.<.^>
<.<.>.<vv.>
<vvv.^^>.^>
<.>.<.>.<.>
<v.<vv.^^^>
<.^<.>v.>.>
<v.^^>.<.^>
<.<.>.<vv.>
<vvv.^^>.^>
<.>.<.>.<.>
<v.<vv.^^^>
<.^<.>v.>.>
<v.^^>.<.^>
<.<.>.<vv.>
<vvv.^^>.^>
<.>.<.>.<.>
<v.<vv.^^^>
<.^<.>v.>.>
<v.^^>.<.^>
<.<.>.<vv.>
<vvv.^^>.^>
<.>.<.>.<.>
<v.<vv.^...

result:

wrong answer Duplicate segment