QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#135630#6632. Minimize MedianitshawnWA 1ms3904kbC++143.9kb2023-08-05 19:52:562023-08-05 19:52:57

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-05 19:52:57]
  • 评测
  • 测评结果:WA
  • 用时:1ms
  • 内存:3904kb
  • [2023-08-05 19:52:56]
  • 提交

answer

#include <iostream>
#include <stdio.h>
#include <string.h> 
using namespace std;
int n,a[101][101],c[101][101],k,ops[1000001],op;
int up[10][10] = {
//			  0   1   2   3   4   5   6   7 
//			  e   -   /   <   >   \   |  << 
/* 0 e */	{ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 },
/* 1 - */	{ 1 , 0 , 3 , 2 , 5 , 4 , 7 , 6 },
/* 2 / */	{ 2 , 4 , 0 , 6 , 1 , 7 , 3 , 5 },
/* 3 < */	{ 3 , 5 , 1 , 7 , 0 , 6 , 2 , 4 },
/* 4 > */	{ 4 , 2 , 6 , 0 , 7 , 1 , 5 , 3 }, // 
/* 5 \ */	{ 5 , 3 , 7 , 1 , 6 , 0 , 4 , 2 },
/* 6 | */	{ 6 , 7 , 4 , 5 , 2 , 3 , 0 , 1 },
/* 7 <<*/	{ 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 }};

int chan[11][11] = {
//			  e   -   /   <   >   \   |  <<
/* 0 e */	{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 },
/* 1 - */	{ 1 , 1 , 6 , 6 , 6 , 6 , 1 , 1 },
/* 2 / */	{ 2 , 5 , 2 , 5 , 5 , 2 , 5 , 2 },
/* 3 < */	{ 3 , 3 , 9 , 9 , 7 , 7 , 4 , 4 },
/* 4 > */	{ 4 , 4 , 7 , 7 , 9 , 9 , 3 , 3 },
/* 5 \ */	{ 5 , 2 , 5 , 2 , 2 , 5 , 2 , 5 },
/* 6 | */	{ 6 , 6 , 1 , 1 , 1 , 1 , 6 , 6 },
/* 7 ^ */	{ 7 , 9 , 4 , 3 , 4 , 3 , 7 , 9 },
/* 8 o */	{ 8 , 8 , 8 , 8 , 8 , 8 , 8 , 8 },
/* 9 v */	{ 9 , 7 , 3 , 4 , 3 , 4 , 9 , 7 },
/*10 x */	{ 10, 10, 10, 10, 10, 10, 10, 10}};

char back[11] = {' ','-','/','<','>','\\','|','^','o','v','x'};
string s;
inline int type(int x)
{
	switch(x)
	{
		case '-': return 1;
		case '/': return 2;
		case '<': return 3;
		case '>': return 4;
		case '\\': return 5;
		case '|': return 6;
		case '^': return 7;
		case 'o': return 8;
		case 'v': return 9;
		case 'x': return 10;
		default:
			return 0;
	}
	return 0;
}
void case0() // e 
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c[i][j] = chan[a[i][j]][0];
	return ;
}
void case1() // - 
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c[n-i+1][j] = chan[a[i][j]][1];
	return ;
}
void case2() // / 
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c[n-j+1][n-i+1] = chan[a[i][j]][2];
	return ;
}
void case3() // < 
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c[n-j+1][i] = chan[a[i][j]][3];
	return ;
}
void case4() // > 
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c[j][n-i+1] = chan[a[i][j]][4];
	return ;
}
void case5() // \ .
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c[j][i] = chan[a[i][j]][5];
	return ;
}
void case6() // | 
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c[i][n-j+1] = chan[a[i][j]][6];
	return ;
}
void case7() // << 
{
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			c[n-i+1][n-j+1] = chan[a[i][j]][7];
	return ;
}
void change(int x)
{
	switch(x)
	{
		case 0: return case0();
		case 1: return case1();
		case 2: return case2();
		case 3: return case3();
		case 4: return case4();
		case 5: return case5();
		case 6: return case6();
		case 7: return case7();
		default:
			return ;
	}
	return ;
}
int main()
{
//	n = 3;
//	a[1][1] = 1,a[1][2] = 2,a[1][3] = 3;
//	a[2][1] = 4,a[2][2] = 5,a[2][3] = 6;
//	a[3][1] = 7,a[3][2] = 8,a[3][3] = 9;
//	
//	for(int i=1;i<=n;i++)
//	{
//		for(int j=1;j<=n;j++)
//			printf("%d",a[i][j]);
//		puts("");
//	} puts("");
//	
//	change(z);
//	
//	for(int i=1;i<=n;i++)
//	{
//		for(int j=1;j<=n;j++)
//			printf("%d",c[i][j]);
//		puts("");
//	}
//	
//	return 0;
	
	while(scanf("%d",&n)!=EOF)
	{
		getline(cin,s);
		for(int i=1;i<=n;i++)
		{
			getline(cin,s);
			for(int j=0;j<s.size();j++)
				a[i][j+1] = type(s[j]);
		}
		getline(cin,s);
		
		k = 0;
		for(int i=0;i<s.size();i+=2)
			ops[i/2+1] = type(s[i]),k++;
		
		op = 0;
		printf(" 0 ");
		for(int i=1;i<=k;i++)
			printf("add %d > %d ",ops[i],up[op][ops[i]]),
			op = up[op][ops[i]];
		puts("");
		
		change(op);
		
		
		printf("%d\n",op);
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
				printf("%c",back[c[i][j]]);
			puts("");
		}
		
	}
	
	
	
	return 0;
} 
/*
5
o</<^
/<>v/
\->|<
v^v/^
-/>>v
< \ / / / \ | \ | > < > < > | / - > < / / - | \ / | | / > \ - < | / <

3 

*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3904kb

input:

3
3 5 0
2 5 2
3 2 4 6 13
3 5 3
2 5 3
3 2 4 6 13
3 5 6
2 5 2
3 2 4 6 13

output:

 0 add 0 > 0 add 0 > 0 add 0 > 0 
0
   
   
   
 0 add 0 > 0 add 0 > 0 add 0 > 0 
0
  
  
 0 
0
   
   
   

result:

wrong answer 1st numbers differ - expected: '2', found: '0'