1. 程式人生 > >洛谷p1008-三連擊

洛谷p1008-三連擊

程式碼還需要經過測試

#include<iostream>
using namespace std;
int main()
{
	int i,j,l,sum=0,num1,num2,num3,a[10],k,m;
	bool yyy;
	yyy=true;
	for(i=1;i<=3;i++)
	{
		for(j=1;j<=9;j++)
		{
			if(j==i) 
			{
			yyy=false;
			continue;	
			}
			for(l=1;l<=9;l++)
			{
				if(l==i||l==j) 
				{
					yyy=false;
					continue;	
				}
				a[1]=i;
				a[2]=j;
				a[3]=l;
				num1=i*100+j*10+l;
				num2=num1*2;
				a[4]=num2/100;
				a[5]=(num2/10)%10;
				a[6]=num2%10;
				if(a[4]==a[1]||a[4]==a[2]||a[4]==a[3]||a[5]==a[1]||a[5]==a[2]||a[5]==a[3]||a[6]==a[1]||a[6]==a[2]||a[6]==a[3])
				{
					yyy=false;
					continue;
				}
				
				else
				{
					num3=num1*3;
					a[7]=num3/100;
					a[8]=(num3/10)%10;
					a[9]=num3%10;
					for(k=7;k<=9;k++)
					{
						for(m=1;m<=6;m++)
						if(a[k]==a[m])
						{
							yyy=false;
							continue;
						}	
					}
				}
			
			}
		}
	if(yyy)
		cout<<i*100+j*10+l<<endl;
	}
	return 0;
}