輸入第一行給出乙個正整數n(≤100),是已知朋友圈的個數;隨後n行,每行首先給出乙個正整數k(≤1000),為朋友圈中的人數,然後列出乙個朋友圈內的所有人——為方便起見,每人對應乙個id號,為5位數字(從00000到99999),id間以空格分隔;之後給出乙個正整數m(≤10000),為待查詢的人數;隨後一行中列出m個待查詢的id,以空格分隔。
注意:沒有朋友的人可以是根本沒安裝「朋友圈」,也可以是只有自己乙個人在朋友圈的人。雖然有個別自戀狂會自己把自己反覆加進朋友圈,但題目保證所有k超過1的朋友圈裡都至少有2個不同的人。
輸出格式:
按輸入的順序輸出那些帥到沒朋友的人。id間用1個空格分隔,行的首尾不得有多餘空格。如果沒有人太帥,則輸出no one is handsome。
注意:同乙個人可以被查詢多次,但只輸出一次。
輸入樣例1:
3輸出樣例1:3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
855555 44444 10000 88888 22222 11111 23333 88888
10000 88888 23333輸入樣例2:
3輸出樣例2:3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
455555 44444 22222 11111
no one is handsome完整**:
#include
#include
using
namespace std;
int a[
100010];
intmain()
}}int m,flag=0;
cin>>m;
for(
int i=
0;i)else
flag=1;
}}if(flag==0)
cout<<
"no one is handsome"
printf
("\n");
return0;
}
小記錄:
(不用在意這些)
/*這個是錯誤的,上面的那個是正確的。*/
/** 前兩個樣例是對的,後面三個是錯的。
後來我發現我讀錯題了。
開始我理解的是,輸入n組,每組k個元素,然後再輸m個元素,
輸出m個元素中和n*k不同的元素
後來看了別人的才知道理解錯了,不能光看樣例不好好讀題。
(因為我覺得我的思路我覺得很好,所以我將這個**保留了下來。紀念一下我當時的思路。)
*/#include
using
namespace std;
int a[
1010];
int b[
10010];
int c[
100010];
int d[
10010];
intmain()
}int m;
cin>>m;
for(
int i=
0;i)sort
(c,c+x)
;//陣列c中的元素排序
int y=
unique
(c,c+x)
-c;//陣列c中的元素去重
int z=0;
for(
int i=
0;i)//然後和b中的比較,如果相同就把b中的元素改為1,並且z計數器記錄了有幾個相同元素}}
//去掉b中的重複元素
int w=0;
int q;
for(
int i=
0;iif(q==w)}if
(z==m)
else
else
printf
("%05d\n"
,d[i]);
}}}return0;
}
pta L1 020 帥到沒朋友
評價 不太好做 首先,題目上來給的概念就很模糊,但是仔細一看,對於找重合和排序問題的話,集合是最拿手的,所以我們用集合來處理這道題 其次,就是模擬了 題目的思路 沒有朋友圈或者朋友圈只有他自己,而且輸入保證了人數大於1時是兩個不同的人,所以朋友圈人數大於1的人就是有朋友的人或者說nohandsome...
PTA L1 020 帥到沒朋友 20 分
當芸芸眾生忙著在朋友圈中發 的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。輸入第一行給出乙個正整數n 100 是已知朋友圈的個數 隨後n行,每行首先給出乙個正整數k 1000 為朋友圈中的人數,然後列出乙個朋友圈內的所有人 為方便起見,每人對應乙個id號,為5位數字 從...
L1 020 帥到沒朋友 (20 分
l1 020 帥到沒朋友 20 分 當芸芸眾生忙著在朋友圈中發 的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。輸入第一行給出乙個正整數n 100 是已知朋友圈的個數 隨後n行,每行首先給出乙個正整數k 1000 為朋友圈中的人數,然後列出乙個朋友圈內的所有人 為方便起見...