北邮机试 C翻转——图形翻转类的题目就是找几种情况的例子来手推公式

北邮机试 C翻转——图形翻转类的题目就是找几种情况的例子来手推公式

#include<bits/stdc++.h>
using namespace std;
int main()
{
	//freopen("kkk.txt","r",stdin);
    int a[5][5];
    int b[5][5];
    fill(b[0],b[0]+5*5,-9999);
    int zhen,da,x,y;
    
    for(int i=0;i<5;i++)
        for(int j=0;j<5;j++)
            cin>>a[i][j];
            
    cin>>zhen>>da>>x>>y; 
	x--;y--;
	if(zhen==1)
	{
		for(int j=0;j<da;j++)
		    for(int i=da-1;i>=0;i--)
		        b[j+x][da-1-i+y]=a[i+x][j+y];  //公式
	}
	else
	{
		for(int j=da-1;j>=0;j--)
		    for(int i=0;i<da;i++)
		        b[da-1-j+x][i+y]=a[i+x][j+y];//公式
	}
	for(int i=0;i<5;i++)
        for(int j=0;j<5;j++)
        	if(b[i][j]==-9999) b[i][j]=a[i][j];
        	
      for(int i=0;i<5;i++)
      {
        for(int j=0;j<5;j++)
            cout<<b[i][j]<<' ';    
			cout<<endl;  
       }  
	return 0;
}

北邮机试 C翻转——图形翻转类的题目就是找几种情况的例子来手推公式