http://poj.org/problem?id=3106
#include <stdio.h>
static char str[100010];
static char input[310][310], ans[310][310];
static int n, m;
static int doit( int s ) {
int i = s/1000, j = s%1000, a = i, b = j;
int nn = n;
int mm = m, t;
for( int k=0; str[k]; k++ ) {
switch( str[k] ){
case '1':
a = j; b = i;
t = nn; nn = mm; mm = t;
break;
case '2':
a = nn-j; b = mm-i;
t = nn; nn = mm; mm = t;
break;
case 'H':
a = mm-i; b = j; break;
case 'V':
a = i; b = nn-j; break;
case 'B': case 'Y':
a = mm-i; b = nn-j; break;
case 'A': case 'Z':
a = j; b = mm-i;
t = nn; nn = mm; mm = t;
break;
case 'C': case 'X':
a = nn-j; b = i;
t = nn; nn = mm; mm = t;
break;
}
i = a;
j = b;
}
return i*1000+j;
}
int main( ){
int i, j;
scanf( "%d%d", &m, &n );
for( i=0; i<m; i++ )
scanf( "%s", input[i] );
getchar( );
gets( str );
int *x=new int[3], *y = new int[3];
int t;
n--; m--;
t = doit( 0*1000+0 );
x[0] = t/1000; y[0] = t%1000;
t = doit( m*1000+0 );
x[1] = t/1000; y[1] = t%1000;
t = doit( 0*1000+n );
x[2] = t/1000; y[2] = t%1000;
n++;m++;
int a = x[0], b = y[0], aa, bb;
int da = ((x[1]==x[0]) ? 0 : ((x[1]>x[0])?1:-1) ),
db = ((y[1]==y[0]) ? 0 : ((y[1]>y[0])?1:-1) ),
da1= ((x[2]==x[0]) ? 0 : ((x[2]>x[0])?1:-1) ),
db1= ((y[2]==y[0]) ? 0 : ((y[2]>y[0])?1:-1) );
int nn = 0, mm = 0;
for( i=0; i<m; i++ ) {
aa = a; bb = b;
for( j=0; j<n; j++ ) {
ans[aa][bb] = input[i][j];
if( aa > nn )
nn = aa;
if( bb > mm )
mm = bb;
aa += da1; bb += db1;
}
a += da; b += db;
}
nn++;mm++;
printf( "%d %dn", nn, mm );
for( i=0; i<nn; i++ ) {
for( j=0; j<mm; j++ )
printf( "%c", ans[i][j] );
printf( "n" );
}
return 0;
}
Meta
-
Recent Posts
Recent Comments
Archives
- May 2024
- April 2023
- February 2023
- January 2023
- December 2022
- November 2022
- September 2022
- June 2022
- July 2021
- January 2021
- February 2020
- September 2019
- March 2018
- February 2018
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
Categories
