Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:谁的代码比我长?

Posted by guangmingge at 2013-05-14 22:41:32 on Problem 1753
In Reply To:谁的代码比我长? Posted by:liuweibiao at 2012-02-19 14:35:48
> #include<iostream>
> using namespace std;
> char s[4][4];
> int a[4][4];
> int b[4][4];
> void flip(int i,int j)
> {
> 	if(i<3)
> 		b[i+1][j]^=1;
> 	if(i>0)
> 		b[i-1][j]^=1;
> 	if(j<3)
> 		b[i][j+1]^=1;
> 	if(j>0)
> 		b[i][j-1]^=1;
> 	b[i][j]^=1;
> }
> int main()
> {
> 	int i,j,k,l,m,n;
> 	for(i=0;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		{
> 			scanf("%c",&s[i][j]);
> 			if(s[i][j]=='\n')
> 				j--;
> 			if(s[i][j]=='b')
> 				a[i][j]=1;
> 		}
> 	}
> 	int count=0,max=17;
> 	memcpy(b,a,sizeof(a));
> 	/*for(i=0;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 			printf("%d",a[i][j]);
> 		printf("\n");
> 		for(j=0;j<4;j++)
> 			printf("%d",b[i][j]);
> 		printf("\n");
> 	}*/
> 	int indix=1;
> 	for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 	if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==0)
> 		max=count;
> 	memcpy(b,a,sizeof(a));
> 	for(k=0;k<4;k++)
> 	{
> 		count=1;
> 		flip(0,k);
> 		for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 		if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==0)
> 			if(max>count)
> 				max=count;
> 		memcpy(b,a,sizeof(a));
> 	}
> 	for(k=0;k<3;k++)
> 	{
> 		for(l=k+1;l<4;l++)
> 		{
> 			count=2;
> 			flip(0,k);
> 			flip(0,l);
> 			for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 		if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==0)
> 			if(max>count)
> 				max=count;
> 		memcpy(b,a,sizeof(a));
> 		}
> 	}
>     for(k=0;k<4;k++)
> 	{
> 		count=3;
> 		for(l=0;l<4;l++)
> 			if(l!=k)
> 				flip(0,l);
> 		for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 		if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==0)
> 			if(max>count)
> 				max=count;
> 		memcpy(b,a,sizeof(a));
> 	}
> 	count=4;
> 	for(k=0;k<4;k++)
> 		flip(0,k);
> 	for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 		if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==0)
> 			if(max>count)
> 				max=count;
> 		memcpy(b,a,sizeof(a));
> 		indix=0;
> 		count=0;
> 		//if(max==17)
> 		//{
> 			for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 	if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==4)
> 		if(max>count)
> 			max=count;
> 	memcpy(b,a,sizeof(a));
> 	for(k=0;k<4;k++)
> 	{
> 		count=1;
> 		flip(0,k);
> 		for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 		if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==4)
> 			if(max>count)
> 				max=count;
> 		memcpy(b,a,sizeof(a));
> 	}
> 	for(k=0;k<3;k++)
> 	{
> 		for(l=k+1;l<4;l++)
> 		{
> 			count=2;
> 			flip(0,k);
> 			flip(0,l);
> 			for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 		if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==4)
> 			if(max>count)
> 				max=count;
> 		memcpy(b,a,sizeof(a));
> 		}
> 	}
>     for(k=0;k<4;k++)
> 	{
> 		count=3;
> 		for(l=0;l<4;l++)
> 			if(l!=k)
> 				flip(0,l);
> 		for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 		if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==4)
> 			if(max>count)
> 				max=count;
> 		memcpy(b,a,sizeof(a));
> 	}
> 	count=4;
> 	for(k=0;k<4;k++)
> 		flip(0,k);
> 	for(i=1;i<4;i++)
> 	{
> 		for(j=0;j<4;j++)
> 		if(b[i-1][j]==indix)
> 		{
> 			flip(i,j);
> 			count++;
> 		}
> 	}
> 		if(b[3][0]+b[3][1]+b[3][2]+b[3][3]==4)
> 			if(max>count)
> 				max=count;
> 		//}
> 		if(max==17)
> 			printf("Impossible\n");
> 		else
> 			printf("%d\n",max);
> 		return 0;
> 		}
> 		

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator