1065独身犬——c++実現
2408 ワード
タイトル:
1065独身犬(25点)
「独身犬」は中国語の独身者に対する愛称である.本題では、万人以上の大規模なパーティーから落単したお客様を見つけて、特別な愛を与えてください.
入力形式:
最初の行を入力すると、正の整数N(≦50,000)が与えられ、既知の夫婦/パートナーの対数である.その後、N行は、各行に夫婦/パートナーのペアを与える--便宜上、1人当たり1つのID番号に対応し、5桁の数字(00000から9999999)で、ID間はスペースで区切られている.その後、パーティーに参加する総人数のために正の整数M(≦10 000)を与えた.その後、一行はこのM人の客のIDをスペースで区切った.テーマは誰も再婚したり、2本の船を踏んだりしないことを保証します.
出力フォーマット:
まず最初の行は宿泊客の総人数を出力します.その後、2行目にID順にリストを追加したお客様.ID間は1つのスペースで区切られており、行の先頭と末尾に余分なスペースがないようにしてください.
サンプルを入力:
出力サンプル:
考え方:
この問題はよく理解でき,難点は直感的に互いにマッピングされたキー値対で実現できること,あるいは他の高度なデータ構造であるが,感覚だけではだめであり,熟練して使用できることである.
次はc++のSTLを知るのに時間がかかります.
2018.12.08
コード1の実装部分が煩雑すぎて、自分の考え方で一度実現したような気がしますが、そんなに面倒な必要はありません.対応する配列を確立した後,2つのforループで順次比較した.CPが構成されない場合はカウントする.カウントがMに等しい場合は、独身犬であることを示します.setストレージを使用します.2つのヘッダファイルを忘れないでください.しかし、コード2にはもう一つのテストポイントがあります.問題点も見つからなかった...テストがこれでいいから、一つのテストポイントの四分は要らない...
拭き取り、見つけたか、出力フォーマットの問題か.入力が5桁であるため、5桁の前に0がある場合、%dは自動的に省略されます.ああああ、試験の時はフォーマットの問題に注意しなければなりません.コード2はACできます.
コード:
1
2、
1065独身犬(25点)
「独身犬」は中国語の独身者に対する愛称である.本題では、万人以上の大規模なパーティーから落単したお客様を見つけて、特別な愛を与えてください.
入力形式:
最初の行を入力すると、正の整数N(≦50,000)が与えられ、既知の夫婦/パートナーの対数である.その後、N行は、各行に夫婦/パートナーのペアを与える--便宜上、1人当たり1つのID番号に対応し、5桁の数字(00000から9999999)で、ID間はスペースで区切られている.その後、パーティーに参加する総人数のために正の整数M(≦10 000)を与えた.その後、一行はこのM人の客のIDをスペースで区切った.テーマは誰も再婚したり、2本の船を踏んだりしないことを保証します.
出力フォーマット:
まず最初の行は宿泊客の総人数を出力します.その後、2行目にID順にリストを追加したお客様.ID間は1つのスペースで区切られており、行の先頭と末尾に余分なスペースがないようにしてください.
サンプルを入力:
3
11111 22222
33333 44444
55555 66666
7
55555 44444 10000 88888 22222 11111 23333
出力サンプル:
5
10000 23333 44444 55555 88888
考え方:
この問題はよく理解でき,難点は直感的に互いにマッピングされたキー値対で実現できること,あるいは他の高度なデータ構造であるが,感覚だけではだめであり,熟練して使用できることである.
次はc++のSTLを知るのに時間がかかります.
2018.12.08
コード1の実装部分が煩雑すぎて、自分の考え方で一度実現したような気がしますが、そんなに面倒な必要はありません.対応する配列を確立した後,2つのforループで順次比較した.CPが構成されない場合はカウントする.カウントがMに等しい場合は、独身犬であることを示します.setストレージを使用します.2つのヘッダファイルを忘れないでください.しかし、コード2にはもう一つのテストポイントがあります.問題点も見つからなかった...テストがこれでいいから、一つのテストポイントの四分は要らない...
拭き取り、見つけたか、出力フォーマットの問題か.入力が5桁であるため、5桁の前に0がある場合、%dは自動的に省略されます.ああああ、試験の時はフォーマットの問題に注意しなければなりません.コード2はACできます.
コード:
1
//1065 V1
#include
#include
#include
#include
#define MAX 100005
using namespace std;
int main(){
//spouse_id -1, 00000 id
int N,M,man,woman,spouse_id[MAX]={-1},list[MAX]={0} ,guest[MAX]={0};
scanf("%d",&N);
for(int i=0;i>man>>woman;
spouse_id[man]=woman;
spouse_id[woman]=man;
}
scanf("%d",&M);
set s;
for(int i=0;i::iterator it=s.begin();it!=s.end();it++){ //set
if(it!=s.begin()) printf(" ");
printf("%05d",*it);
}
}
2、
#include
#include
#include
#include
using namespace std;
int main(){
int N,a[100005]={-1}; scanf("%d",&N);
for(int i=0;i<100005;i++) a[i]=-1;
for(int i=0;i s;
for(int i=0;i