C++ 洛谷刷题 菜鸟
P1008 [NOIP1998 普及组] 三连击
今天开始尝试普及难度的题目啦,不再在入门徘徊,可能有些比较难,还有一些需要使用到比较特殊的算法,一点点尝试,清明假期出去玩了,也算偷懒,也算放松,废话不多说,放上代码,这次的难度我觉得其实也不算难,我用了比较笨的办法,如果有大佬相处更加简洁的方法,欢迎评论指导一二
#include<iostream>
using namespace std;
int main()
{
int number1,number2,number3;
for(int k = 1;k<=9;k++)
{
for(int i = 1;i <= 9;i++)
{
if(i == k)
{
i = i+1;
}
for(int j = 1;j <= 9;j++)
{
if(j == i)
{
j = j+1;
}
number1 = k*100+i*10+j;
number2 = number1*2;
number3 = number1*3;
int n2,n3;
n2 = number2;
n3 = number3;
int a2,b2,c2,a3,b3,c3;
while(n2>0)
{
a2 = n2/100;
n2 = n2-(a2*100);
b2 = n2/10;
n2 = n2-(b2*10);
c2 = n2;
n2 = 0;
}
if(a2!=0&&b2!=0&&c2!=0&&a2!=k&&a2!=i&&a2!=j&&a2!=b2&&a2!=c2&&b2!=k&&b2!=i&&b2!=j&&b2!=c2&&c2!=k&&c2!=i&&c2!=j)
{
while(n3>0)
{
a3 = n3/100;
n3 = n3-(a3*100);
b3 = n3/10;
n3 = n3-(b3*10);
c3 = n3;
n3 = 0;
}
if(a3!=0&&b3!=0&&c3!=0&&a3!=b3&&a3!=c3&&a3!=i&&a3!=j&&a3!=k&&a3!=a2&&a3!=b2&&a3!=c2&&b3!=k&&b3!=c3&&b3!=i&&b3!=j&&b3!=a2&&b3!=b2&&b3!=c2&&c3!=k&&c3!=i&&c3!=j&&c3!=a2&&c3!=b2&&c3!=c2)
{
if(number1<1000&&number2<1000&&number3<1000)
cout<<number1<<" "<<number2<<" "<<number3<<endl;
}
}
}
}
}
}
本题已通过