[NOIP 2017普及グループ]図書管理者
1810 ワード
NOIP2017
図書館の中ですべての本はすべて1つの図書のコードがあって、急速に図書を検索することができて、この図書のコードは1つです
正の整数
本を借りた読者一人一人の手には需要コードがあり、この需要コードも正の整数です.本の図が
本のコードはちょうど読者の需要コードで終わり、この本はこの読者が必要としている.
Dさんは図書館の管理人になったばかりで、図書館のすべての本の図書コードを知っています.彼女はあなたに書いてもらいました.
一つのプログラムは、すべての読者に対して、彼が必要とする本の中で図書のコードが一番小さい本を求めて、もし彼がいなければ
必要な本は、-1を出力してください.
最初の行は、2つの正の整数nとqを含んで、1つのスペースで分けて、それぞれ図書館の中を代表します
本の数と読者の数.
次のn行は、各行に正の整数が含まれており、図書館のある本の図書コードを表しています.
次のq行は、各行に2つの正の整数が含まれ、1つのスペースで区切られ、最初の正の整数は図書館を表します.
の読者の需要コードの長さ、2番目の正の整数は読者の需要コードを表します.
q行があり、各行には整数が含まれており、i番目の読者に必要な本があればi番目に
行はi番目の読者が必要とする本の中で図書コードが最も小さい本の図書コードを出力し、そうでなければ-1を出力する.
(コンソールにコピーして改行がない場合は、テキストエディタに貼り付けてからコピーできます)
直接:
タイトルの説明
図書館の中ですべての本はすべて1つの図書のコードがあって、急速に図書を検索することができて、この図書のコードは1つです
正の整数
本を借りた読者一人一人の手には需要コードがあり、この需要コードも正の整数です.本の図が
本のコードはちょうど読者の需要コードで終わり、この本はこの読者が必要としている.
Dさんは図書館の管理人になったばかりで、図書館のすべての本の図書コードを知っています.彼女はあなたに書いてもらいました.
一つのプログラムは、すべての読者に対して、彼が必要とする本の中で図書のコードが一番小さい本を求めて、もし彼がいなければ
必要な本は、-1を出力してください.
入力
最初の行は、2つの正の整数nとqを含んで、1つのスペースで分けて、それぞれ図書館の中を代表します
本の数と読者の数.
次のn行は、各行に正の整数が含まれており、図書館のある本の図書コードを表しています.
次のq行は、各行に2つの正の整数が含まれ、1つのスペースで区切られ、最初の正の整数は図書館を表します.
の読者の需要コードの長さ、2番目の正の整数は読者の需要コードを表します.
しゅつりょく
q行があり、各行には整数が含まれており、i番目の読者に必要な本があればi番目に
行はi番目の読者が必要とする本の中で図書コードが最も小さい本の図書コードを出力し、そうでなければ-1を出力する.
サンプル入力
(コンソールにコピーして改行がない場合は、テキストエディタに貼り付けてからコピーできます)
5 5
2123
1123
23
24
24
2 23
3 123
3 124
2 12
2 12
サンプル出力
23
1123
-1
-1
-1
も簡単なシミュレーションで、難しくありません.小さなコードに注意すればいいです.直接:
#include
#include
#include
#include
#include
using namespace std;
int n,p,a[1005];
int main()
{
//freopen("librarian.in","r",stdin);
//freopen("librarian.out","w",stdout);
scanf("%d%d",&n,&p);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+n+1);// ,
for(int i=1;i<=p;i++)
{
int x,y,ml=1;
scanf("%d%d",&x,&y);
for(int j=1;j<=x;j++)
ml*=10;// 10^x
for(int j=1;j<=n;j++)
{
if(a[j]%ml==y)
{
printf("%d
",a[j]);
break;
}
else if(j==n)//
printf("-1
");
}
}
return 0;
}