[破碎的状态] 主代码手的练习(北京赛区D)(hihoCoder 1630)
来源:北京赛区
http://hihocoder.com/problemset/problem/1630
一个纯代码题....
下次争取少WA几次....
注意...读题..........
#include<set> #include<map> #include<list> #include<queue> #include<stack> #include<string> #include<math.h> #include<time.h> #include<vector> #include<bitset> #include<memory> #include<utility> #include<fstream> #include<stdio.h> #include<sstream> #include<iostream> #include<stdlib.h> #include<string.h> #include<algorithm> using namespace std; int player[6][15]; int board[25][35]; int belong_to[25][35]; int start[6][2]={ {0,12}, {16,12}, {9,3}, {7,21}, {9,21}, {7,3}}; void init() { int i; for (i=0;i<25;i++) { int j; for (j=0;j<35;j++) { board[i][j]=-1; belong_to[i][j]=-1; } } for (i=4;i<=8;i++) { int j; for (j=12-i;j<=12+i;j+=2) { board[i][j]=-2; } } for (i=9;i<=12;i++) { int j; for (j=i-4;j<=28-i;j+=2) { board[i][j]=-2; } } for (i=0;i<6;i++) { if (i%2==0) { int j; for (j=0;j<4;j++) { int k; for (k=-j;k<=j;k+=2) { board[start[i][0]+j][start[i][1]+k]=i; belong_to[start[i][0]+j][start[i][1]+k]=i; } } } else { int j; for (j=0;j<4;j++) { int k; for (k=-j;k<=j;k+=2) { board[start[i][0]-j][start[i][1]+k]=i; belong_to[start[i][0]-j][start[i][1]+k]=i; } } } } } void print_screen() { #ifndef absi2011 return; #endif int i; for (i=0;i<=16;i++) { int j; for (j=0;j<=24;j++) { if (board[i][j]==-1) { printf(" "); } else if (board[i][j]==-2) { printf("."); } else { printf("%d",board[i][j]+1); } } printf("\n"); } printf("\n\n"); } int ansx,ansy; void trans_to(int x,int y) { if (x<=4) { ansx=x-1; ansy=y*2+11-x; } else if ((5<=x)&&(x<=9)) { ansx=x-1; ansy=y*2+x-7; } else if ((10<=x)&&(x<=13)) { ansx=x-1; ansy=y*2+11-x; } else { ansx=x-1; ansy=y*2+x-7; } } void trans_from(int x,int y) { x++; ansx=x; if (x<=4) { ansy=(y+x-11)/2; } else if ((5<=x)&&(x<=9)) { ansy=(y+7-x)/2; } else if ((10<=x)&&(x<=13)) { ansy=(y+x-11)/2; } else { ansy=(y+7-x)/2; } } map<string,int> m; int di[6][2]={ {0,2}, {0,-2}, {1,1}, {1,-1}, {-1,1}, {-1,-1}}; void moves(int x,int y,int z) { int t1=0; int t2=0; int i; int nowx=x; int nowy=y; int best_movex=x; int best_movey=y; for (i=0;;i++) { nowx+=di[z][0]; nowy+=di[z][1]; if ((nowx<0)||(nowy<0)||(nowx>=17)||(nowy>=25)) break; if (board[nowx][nowy]==-1) break; if (board[nowx][nowy]!=-2) { t1<<=1; t1++; t2+=1<<i; } else if (((belong_to[nowx][nowy]^board[x][y])<=1)||(belong_to[nowx][nowy]==-1)) { if (((t1==t2)&&(t1!=0))||(i==0)) { best_movex=nowx; best_movey=nowy; } t1<<=1; } else { break; } } #ifdef absi2011 printf("Move : %d %d To %d %d!\n",x,y,best_movex,best_movey); #endif swap(board[x][y],board[best_movex][best_movey]); } int main() { #ifdef absi2011 freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); #endif m["R"]=0; m["L"]=1; m["LR"]=2; m["LL"]=3; m["UR"]=4; m["UL"]=5; int n; for (;scanf("%d",&n)!=-1;) { init(); print_screen(); string t; static char c[5]; int i; for (i=0;i<n;i++) { int x,y; scanf("%d%d",&x,&y); trans_to(x,y); scanf("%s",c); t=c; #ifdef absi2011 printf("%d %d %d\n",ansx,ansy,m[t]); #endif if (board[ansx][ansy]!=i%6) continue; moves(ansx,ansy,m[t]); print_screen(); } for (i=0;i<6;i++) { int j,k; int cnt=0; for (j=0;j<25;j++) { for (k=0;k<35;k++) { if (board[j][k]==i) { trans_from(j,k); cnt++; printf("%d %d",ansx,ansy); if (cnt!=10) printf(" "); } } } printf("\n"); } } return 0; }
Aug 22, 2022 04:00:12 AM
This year's GSEB Class Xllth Exams were administered by the Gujarat Secondary and Higher Secondary Education Board. upon the satisfactory completion of the exam. The GSEB Class 11th Examination Question Paper 2023 will be released by the Gujarat Board in the month of May. The Gujarat Board offers students a better education. GSEB STD 11th Model Paper 2023 those those who are taking the Gujarat Board Plus-1 Exams. They are all impatiently awaiting the release of the 2023 Gujarat Board +1 Question Paper online. The Gujarat Board 11th Important Question Paper 2023 may be downloaded from the official website, and we also give a direct link so you can quickly check your Gujarat 11th Important Question Paper 2023. Listed below are some helpful instructions for students; all you have to do is adhere to them.
Sep 08, 2022 08:57:14 PM
The AP Intermediate students can download the Economics question bank with solved study material with practice questions in chapter wise to every TM, EM, UM student, and the economics subject paper-1 AP 1st Inter Economics Model Paper and paper-2 important questions with suggestions are available through AP Jr and Sr inter Economics Model Paper 2023 Pdf with guess paper.