#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <unistd.h>
int Fun(int x,int y);
int main(void)
{
int n;//N-人数 M-考题数
int i,j;
int temp;
while(scanf("%d",&n),n!=0)
{
int new_num[1000]={0};
int num[1000]={0};
int flag[1000]={0};
int new_n = 0;
for(i=0;i<n;i++)
{
scanf("%d",&num[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(Fun(num[i],num[j]) == 1)
{
flag[i] =1;
flag[j] =1;
}
}
}
for(j=0;j<n;j++)
{
if(flag[j] == 0)
{
new_num[new_n] = num[j];
new_n++;
}
}
for(i=0;i<new_n;i++)
{
for(j=0;j<new_n-i-1;j++)
{
if(new_num[j] > new_num[j+1])
{
temp = new_num[j];
new_num[j] = new_num[j+1];
new_num[j+1] = temp;
}
}
}
if(new_n == 0)
printf("None");
else
{
for(j=0;j<new_n;j++)
{
if(new_num[j]>0)
printf("%d ",new_num[j]);
}
}
printf("\n");
}
getchar();
getchar();
return 0;
}
int Fun(int x,int y)
{
int num_x[10] = {0};
int num_y[10] = {0};
int i;
while(x)
{
num_x[x%10]++;
x /= 10;
}
while(y)
{
num_y[y%10]++;
y /= 10;
}
for(i=0;i<10;i++)
{
if(num_y[i] != num_x[i])
return 0;
}
return 1;
}
ZZULIOJ1204: 剔除相关数
最新推荐文章于 2024-07-04 11:05:56 发布