【10.22 牛客普及(三)】 牛半仙的妹子gcd 題解
【10.22 牛客普及(三)】 牛半仙的妹子gcd 題解
題目
牛半仙有
n
n
n 個妹子。
牛半仙用對於每個妹子都有一個名字,並且給了每個妹子一個評分。
牛半仙的審美與名字有關,他想知道名字以某字母結尾的妹子中,評分第
k
k
k 大的妹子的名字。
如果出現評分相同的妹子,牛半仙會認為先讀入的妹子評分更大。
由於牛半仙是隻死鴿子,於是他找到了你,請你幫幫他。
輸入
第一行兩個正整數
n
n
n,
m
m
m。
接下來
n
n
n 行,每行一個妹子名,保證由小寫字母組成,長度不超過
50
50
50,然後一個整數,表示這個妹子的評分。
接下來
m
m
m 行,每行一個字母
x
x
x ,表示詢問名字以某個字母結尾的妹子,然後一個正整數
k
k
k ,表示詢問排名為
k
k
k 的妹子。
輸出
m
m
m 行,每個詢問輸出一行,表示妹子的名字。
如果名字以
x
x
x 結尾的妹子中不存在排名為
k
k
k 的妹子,輸出 Orz YYR tql
。(不需要輸出引號)
樣例
input
5 2
aaa 1
aa 2
a 3
ab 3
bb 4
b 2
a 4
output
ab
Orz YYR tql
資料範圍
對於5%的資料:
n
n
n≤10,
m
m
m≤1000
對於 20% 的資料:
n
n
n,
m
m
m≤1000
對於所有資料
n
n
n,
m
m
m≤105 ,保證名字長度小於等於 50
對於所有資料
n
n
n,
m
m
m≤105 ,
k
k
k≤
n
n
n,保證名字長度小於等於50
解題思路
將同一字母結尾的名字放進一個陣列
按評分排序
然後輸入m行
從排完序後的陣列直接取名字輸出
程式碼
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
struct hhx{
int sl,h[100010];
}a[30];
char c;
string x[100010],sc="";
int f[100010],n,m,y,k,s;
bool cmp(int x,int y)
{
return (f[x]>f[y]||(f[x]==f[y]&&x<y));
}
int main()
{
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++)
{
getchar();
c=getchar();
while (c!=' ')
{
x[i]+=c;
c=getchar();
}
scanf("%d",&f[i]);
y=x[i].size();
a[x[i][y-1]-96].sl++;
a[x[i][y-1]-96].h[a[x[i][y-1]-96].sl]=i;
}
for (int i=1;i<=26;i++)
sort(a[i].h+1,a[i].h+a[i].sl+1,cmp); //將同一字母結尾的評分排序
for (int i=1;i<=m;i++)
{
getchar();
c=getchar();
scanf("%d",&k);
y=c-96;
if (a[y].sl<k) //如果不存在
printf("Orz YYR tql\n");
else {
sc=x[a[y].h[k]];
printf("%s\n",sc.c_str()); //存在,則輸出妹子的名字
}
}
return 0;
}
相關文章
- 7.29考試總結(NOIP模擬27)[牛半仙的妹子圖·Tree·序列]
- 牛客錯題集(Java)Java
- 牛客小白月賽88-DE題解
- 牛客網Java評估題Java
- 牛客題霸 [括號序列] C++題解/答案C++
- 牛客SQL練習第21題SQL
- 2020牛客NOIP賽前訓練營-普及組第一場牛牛的跳跳棋題解
- 牛客題霸 [最長公共子串]C++題解/答案C++
- 牛客網字串排序程式設計題字串排序程式設計
- 牛客網SQL刷題31-40SQL
- 牛客網SQL刷題41-50SQL
- 牛客網題目知識點收集
- 牛客周賽 Round 38
- 牛客周賽 Round 40
- 牛客網刷題(純java題型 31~60題)Java
- 牛客網刷題(純java題型 421~450題)Java
- 牛客網刷題(純java題型 241~270題)Java
- 牛客網刷題(純java題型 1~30題)Java
- 牛客小白月賽88 出題覆盤
- 牛客網刷題hj1-hj4
- 牛客 tokitsukaze and Soldier 貪心
- Mysql 練習(牛客網)MySql
- 牛客小白月賽89
- 牛客小白月賽88
- 牛客題霸--連續子陣列的最大和陣列
- 牛客IOI周賽20-普及組-D 夾縫中求和(線性優化)優化
- 一個java面試題:一個農夫養了一頭牛,三年後,這頭牛每年會生出一頭牛,生出來的牛三年後又可以每年生出一頭牛,不考慮牛的性別和生死,問農夫10年後有多少頭牛?Java面試題
- 牛客題霸NC132環形連結串列的約瑟夫問題Java題解Java
- 牛客網刷題(純java題型 91~120題)Java
- 牛客挑戰賽72 總結
- 2020牛客NOIP賽前集訓營-普及組(第一場) 牛牛的跳跳棋
- 牛客網 Coincidence(最長公共子串LCS板題)IDE
- 挑選方案問題(牛客競賽 思維題+推導公式)公式
- 最高的牛
- 牛客小白月賽88 (小白來了)
- 牛客周賽 Round 36 (小白練習記)
- 牛客刷題筆記--(java基礎301-400)筆記Java
- 牛客挑戰賽23-A.字串(尺取)字串