hdu4772

水題

核心思想是:
a[i][j]=a[j][N-i];

其他自己看吧


這裏偷懶直接開了c1,c2,c3來存


#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
using namespace std;


int a[35][35],b[35][35];
int c1[35][35],c2[35][35],c3[35][35];
int ans1,ans2,ans3,ans4;
int i,j,k,N;
int main()
{
	while(scanf("%d",&N)&&N!=0)
	{ 
		ans1=0,ans2=0,ans3=0,ans4=0;
		for(i=0;i<N;i++)
		{
			for(j=0;j<N;j++)
			{
				cin>>a[i][j];
			}
		}
		for(i=0;i<N;i++)
		{
			for(j=0;j<N;j++)
			{
				cin>>b[i][j];
			}
		}






		for(i=0;i<N;i++)
		{
			for(j=0;j<N;j++)
			{
				c1[i][j]=a[j][N-i-1];
			}	
		}
		for(i=0;i<N;i++)
		{
			for(j=0;j<N;j++)
			{
				c2[i][j]=c1[j][N-i-1];
			}	
		}
		for(i=0;i<N;i++)
		{
			for(j=0;j<N;j++)
			{
				c3[i][j]=c2[j][N-i-1];
			}	
		}






		for(i=0;i<N;i++)
		{
			for(j=0;j<N;j++)
			{
				if(c1[i][j]==b[i][j])
					ans1++;
				if(c2[i][j]==b[i][j])
					ans2++;
				if(c3[i][j]==b[i][j])
					ans3++;
			    if(a[i][j]==b[i][j])
					ans4++;
			}
		}
		int sum=0;
		if(ans1>sum)sum=ans1;
		if(ans2>sum)sum=ans2;
		if(ans3>sum)sum=ans3; 
		if(ans4>sum)sum=ans4;
		cout<<sum<<endl;
	}
	return 0;
}


附上一組數據:



1 1 1
2 2 2
3 3 3
3 2 1
3 2 1
3 2 1













發佈了40 篇原創文章 · 獲贊 18 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章