QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#135630 | #6632. Minimize Median | itshawn | WA | 1ms | 3904kb | C++14 | 3.9kb | 2023-08-05 19:52:56 | 2023-08-05 19:52:57 |
Judging History
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'