NOIP 2017-普及組再試合第2題題題解
2478 ワード
Description
図書館には本ごとに図書コードがあり、図書を迅速に検索するために使用することができます.この図書コードは正の整数です.本を借りた読者一人一人の手には需要コードがあり、この需要コードも正の整数です.もし1冊の本の図書コードがちょうど読者の需要コードで終わるならば、この本はこの読者が必要とするものです.Dさんは図書館の管理人になったばかりで、彼女は図書館のすべての本の図書のコードを知っていて、彼女はあなたにプログラムを書いてもらって、すべての読者に対して、彼の必要な本の中で図書のコードが一番小さい本を求めて、もし彼の必要な本がなければ、-1を出力してください.
Input
ファイル名をlibrarianと入力します.in.入力ファイルの最初の行は、2つの正の整数nとqを含み、図書館の本の数と読者の数をそれぞれ表すスペースで区切られています.次のn行は、各行に正の整数が含まれており、図書館のある本の図書コードを表しています.次のq行は、各行に2つの正の整数を含み、1つのスペースで分けられ、1つ目の正の整数は図書館の読者の需要コードの長さを表し、2つ目の正の整数は読者の需要コードを表す.
Output
出力ファイル名はlibrarianです.out.出力ファイルにはq行があり、各行には整数が含まれており、i番目の読者が必要とする本が存在する場合、i番目の読者が必要とする本の中で図書コードが最も小さい本の図書コードが出力され、そうでなければ-1が出力される.
Sample Input
Sample Output
Hint
【入出力サンプル1の説明】1番目の読者が必要とする本は2123、1123、23であり、そのうち23は最小の図書符号化である.2番目の読者が必要とする本は2123、1123で、そのうち1123は最小の図書コードです.3位、4位、5位の読者にとって、本のない図書コードは彼らの需要コードで終わり、つまり彼らが必要とする本がなく、-1を出力します.【データ規模と約定】20%のデータに対して、1≦n≦2.さらに20%のデータがあり、q=1です.さらに20%のデータがあり、すべての読者の需要コードの長さは1である.さらに20%のデータがあり、すべての図書コードは小さい順に与えられています.100%のデータに対して、1≦n≦1000、1≦q≦1000であり、すべての図書符号化および需要符号は1000000を超えない.
一番好きなプログラムは?
転載先:https://www.cnblogs.com/ljc666/p/7896917.html
図書館には本ごとに図書コードがあり、図書を迅速に検索するために使用することができます.この図書コードは正の整数です.本を借りた読者一人一人の手には需要コードがあり、この需要コードも正の整数です.もし1冊の本の図書コードがちょうど読者の需要コードで終わるならば、この本はこの読者が必要とするものです.Dさんは図書館の管理人になったばかりで、彼女は図書館のすべての本の図書のコードを知っていて、彼女はあなたにプログラムを書いてもらって、すべての読者に対して、彼の必要な本の中で図書のコードが一番小さい本を求めて、もし彼の必要な本がなければ、-1を出力してください.
Input
ファイル名をlibrarianと入力します.in.入力ファイルの最初の行は、2つの正の整数nとqを含み、図書館の本の数と読者の数をそれぞれ表すスペースで区切られています.次のn行は、各行に正の整数が含まれており、図書館のある本の図書コードを表しています.次のq行は、各行に2つの正の整数を含み、1つのスペースで分けられ、1つ目の正の整数は図書館の読者の需要コードの長さを表し、2つ目の正の整数は読者の需要コードを表す.
Output
出力ファイル名はlibrarianです.out.出力ファイルにはq行があり、各行には整数が含まれており、i番目の読者が必要とする本が存在する場合、i番目の読者が必要とする本の中で図書コードが最も小さい本の図書コードが出力され、そうでなければ-1が出力される.
Sample Input
5 5
2123
1123
23
24
24
2 23
3 123
3 124
2 12
2 12
Sample Output
23
1123
-1
-1
-1
Hint
【入出力サンプル1の説明】1番目の読者が必要とする本は2123、1123、23であり、そのうち23は最小の図書符号化である.2番目の読者が必要とする本は2123、1123で、そのうち1123は最小の図書コードです.3位、4位、5位の読者にとって、本のない図書コードは彼らの需要コードで終わり、つまり彼らが必要とする本がなく、-1を出力します.【データ規模と約定】20%のデータに対して、1≦n≦2.さらに20%のデータがあり、q=1です.さらに20%のデータがあり、すべての読者の需要コードの長さは1である.さらに20%のデータがあり、すべての図書コードは小さい順に与えられています.100%のデータに対して、1≦n≦1000、1≦q≦1000であり、すべての図書符号化および需要符号は1000000を超えない.
一番好きなプログラムは?
#include
#include
using namespace std;
int dz[1001][2],bm[1001],ts[1001],ans[1001];//dz ,bm ,ts ,ans
inline int read();//
int main()
{
int n,q,tot=0;
n=read(),q=read();
ts[0]=1;
for(int i=1;i<=7;i++)
ts[i]+=ts[i-1]*10;//
for(int i=1;i<=n;i++)
bm[i]=read();
for(int i=1;i<=n;i++)
dz[i][0]=read(),dz[i][1]=read();
for(int i=1;i<=q;i++)
{
tot=0;//
for(int j=1;j<=n;j++)
{
if(bm[j]%ts[dz[i][0]]==dz[i][1])//
{
ans[tot]=bm[j];
tot++;
}
}
if(tot==0)//
puts("-1");
else
{
std::sort(ans,ans+tot);//
printf("%d
",ans[0]);
}
for(int k=1;k<=tot;k++)//
ans[k]=0;
}
return 0;
}
inline int read()//
{
char c=getchar();
int x=0,f=1;
while(c>'9'||c='0')
{
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
//
//2017/11/25
2017/11/25
転載先:https://www.cnblogs.com/ljc666/p/7896917.html