帥到沒朋友的人-水題
阿新 • • 發佈:2019-01-07
時間限制
200 ms
記憶體限制
65536 kB
程式碼長度限制
8000 B
判題程式
Standard
作者陳越當芸芸眾生忙著在朋友圈中發照片的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。輸入格式:輸入第一行給出一個正整數N(<=100),是已知朋友圈的個數;隨後N行,每行首先給出一個正整數K(<=1000),為朋友圈中的人數,然後列出一個朋友圈內的所有人——為方便起見,每人對應一個ID號,為5位數字(從00000到99999),ID間以空格分隔;之後給出一個正整數
M(<=10000),為待查詢的人數;隨後一行中列出M個待查詢的ID,以空格分隔。注意:沒有朋友的人可以是根本沒安裝
3
3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
8
55555 44444 10000 88888 22222 11111 23333 88888
輸出樣例1
10000 88888 23333
輸入樣例2:
3
3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
4
55555 44444 22222 11111
輸出樣例2:
No one is handsome
//經過修改和別人的程式碼很像了,但是就是別人的比較好,我要繼續努力
#include<stdio.h> #include<stdio.h> int ID[100000] = {0 }; int main(){ int N, i, j;//N是朋友圈個數 int n;//朋友圈個數最多為100,這裡不用記錄,換方法了! int Wait[10000];//等待查詢的ID; int id;//臨時儲存ID int WaitNumber; int WaitJoin[1000]; int WaitID[10000]; scanf("%d", &N); for (i =0; i<N; i++){//記錄ID scanf("%d", &n); for (j =0; j<n; j++){ scanf("%d", &id); ID[id] +=n; } } scanf("%d", &WaitNumber); int flag =0; for (i =0; i < WaitNumber; i++){ scanf("%d", &id); if (ID[id]==0||ID[id]==1){ if(flag!=0) printf(" "); printf("%05d", id); ID[id] = -1; flag = 1; } } if (flag ==0){ printf("No one is handsome"); } return0; }
·
貼上我上次的程式碼
#include<stdio.h>
int ID[100000] = {0 };
int unique(int Arr[],int len){
int length = len;
int i, j;
for (i =1; i < len; i++){
for (j = i -1; j >= 0; j--){
if (Arr[i] == Arr[j] && Arr[i] != -1){
Arr[i] = -1;
length--;
}
}
}
return length;
}
int Print(int Num){
int Number = Num;
int len =1;
while (Number /10 != 0){
Number /= 10;
len++;
}
return len;
}
int Jundge(int WaitJoin[],int n){
int i, j;
for (i =0; i < n; i++){
if (ID[WaitJoin[i]] ==0)
for (j = i +1; j < n; j++){
if (WaitJoin[i] != WaitJoin[j]){
ID[WaitJoin[i]] = 1;
ID[WaitJoin[j]] = 1;
}
}
}
}
int main(){
int N, i, j;//N是朋友圈個數
int n;//朋友圈個數最多為100,這裡不用記錄,換方法了!
int Wait[10000];//等待查詢的ID;
int id;//臨時儲存ID
int WaitNumber;
int WaitJoin[1000];
int WaitID[10000];
scanf("%d", &N);
for (i =0; i<N; i++){//記錄ID
scanf("%d", &n);
for (j =0; j<n; j++){
scanf("%d", &WaitJoin[j]);
}
Jundge(WaitJoin, n);
}
scanf("%d", &WaitNumber);
j = 0;
for (i =0; i < WaitNumber; i++){
scanf("%d", &id);
if (ID[id] !=1){
Wait[j] = id;
j++;
}
}
int flag =0;
for (i =0; i < j; i++){
if (ID[Wait[i]] ==0){
if (flag !=0)
printf(" ");
printf("%05d", Wait[i]);
ID[Wait[i]] = -1;
flag = 1;
}
}
//陣列去重複
if (flag ==0){
printf("No one is handsome");
}
printf("\n");
return0;
}