ニウケワン大学院入試機テストセット:Cフリップ



Niukewang Postgraduate Entrance Examination Machine Test Set



テストサイト:基本

回転は交換することで実現できます。



時計回り:上下に反転してから、サブ対角線に沿って交換します

時計回り:左右に反転してから、サブ対角線に沿って交換します



#include using namespace std const int MAXSIZE=1001 int main() { int b,c,x,y,a[5][5] while(cin>>a[0][0]) { for(int i=1 i>a[0][i] } for(int i=1 i<5 i++) { for(int j=0 j>a[i][j] } } cin>>b>>c>>x>>y x=x-1 y=y-1 if(b==1&&c==2) { swap(a[x][y],a[x][y+1]) swap(a[x+1][y],a[x+1][y+1]) swap(a[x][y],a[x+1][y+1]) } else if(b==2&&c==2) { swap(a[x][y],a[x+1][y]) swap(a[x][y+1],a[x+1][y+1]) swap(a[x][y],a[x+1][y+1]) } else if(b==1&&c==3) { swap(a[x][y],a[x][y+2]) swap(a[x+2][y],a[x+2][y+2]) swap(a[x][y],a[x+2][y+2]) swap(a[x+1][y],a[x][y+1]) swap(a[x+2][y+1],a[x+1][y+2]) swap(a[x+1][y],a[x+1][y+2]) } else if(b==2&&c==3) { swap(a[x][y],a[x+2][y]) swap(a[x][y+2],a[x+2][y+2]) swap(a[x][y],a[x+2][y+2]) swap(a[x+1][y],a[x][y+1]) swap(a[x+2][y+1],a[x+1][y+2]) swap(a[x][y+1],a[x+2][y+1]) } for(int i=0 i<5 i++) { for(int j=0 j<5 j++) { cout<