有个小坑是输入的a是起始年份,所以只循环到3000不够
#include <iostream>
#include <cstdlib>
#include <cstring>
using namespace std;
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
int jishu[10];
int j = 0;
for(j=a;j<=3100;j++)
{
memset(jishu,0,sizeof(jishu));
int i = j;
int aa,bb,cc,dd;
aa = i/1000;
i %= 1000;
bb = i/100;
i %= 100;
cc = i/10;
i %=10;
dd = i%1000;
jishu[aa]++;
jishu[bb]++;
jishu[cc]++;
jishu[dd]++;
int jilu = 0;
for(int i=0;i<10;i++)
{
if(jishu[i]!=0)
{
jilu ++;
}
}
if(jilu==b)
{
printf("%d %04d\n",j-a,j);
return 0;
}
}
}