Thứ Ba, 8 tháng 1, 2019

UVa 12015 - Google is Feeling Lucky (traverse the list twice)

Link:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=242&page=show_problem&problem=3166
Sol:
#include <cstdio>
#include <queue>
#include <utility>
using namespace std;
char names[10][110];
priority_queue<pair<int, int> > pq;
int main() {
int tc,p,count=1;
scanf("%d",&tc);
while(tc--){
printf("Case #%d:\n",count++);
for(int i=0;i<10;i++){
scanf("%s %d",names[i],&p);
pq.push(pair<int,int>(p,-i));
}
p = pq.top().first;
while(pq.top().first == p){
printf("%s\n",names[-pq.top().second]);
pq.pop();
}
while(!pq.empty()) pq.pop();
}
return 0;
}

Không có nhận xét nào:

Đăng nhận xét

Bài G - Educatioal Round 62

Đề bài: Bạn được cho 1 đồ thị vô hướng đặc biệt. Nó bao gồm $2n$ đỉnh được đánh số từ 1 đến 2n. Dưới đây là một số đặc tính của đồ thị: + ...