描述
現舉行一次小競賽,參賽的3支隊伍,編號為1,2,3.每支佇列輪流回答問題,如果回答正確,加10分;回答錯誤,扣10分;放棄回答不得分.經過多輪答題后,我們要統計各隊的名次和得分.
輸入
第一行為回答問題的輪次數n.
其余各行分別為1,2,3號隊伍答題的結果,回答正確為right,錯誤為wrong,放棄為give-up.
輸出
按名次輸出各隊的編號和得分.名次相同的在同一行輸出,且編號小者靠前.
樣例輸入
4
right wrong give-up
right right right
wrong right right
right right right
樣例輸出
(3,30)
(1,20)(2,20)
#include<stdio.h>
#include<iostream>
using namespace std;
struct zu
{int num; int score;};
int main()
{
int n;
zu z[3]={{1,0},{2,0},{3,0}};
char t[100];
int i,j;
cin>>n;
for(i=0;i<n;i++){
for(j=0;j<3;j++)
{
cin>>t;
if(t[0]=='r') z[j].score+=10;
else if(t[0]=='w') z[j].score-=10;
}
}
for(i=0;i<2;i++)
{
for(j=i;j<3;j++)
{
if(z[i].score<z[j].score)
swap (z[j],z[i]);
}
}
for(i=0;i<2;i++)
{
for(j=i;j<3;j++)
{
if((z[i].score==z[j].score)&&(z[i].num>z[j].num))
swap (z[j],z[i]);
}
}
printf("(%d,%d)",z[0].num,z[0].score);
if(z[0].score>z[1].score) printf("\n");
printf("(%d,%d)",z[1].num,z[1].score);
if(z[1].score>z[2].score) printf("\n");
printf("(%d,%d)\n",z[2].num,z[2].score);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226141.html
標籤:AI
上一篇:邏輯回歸詳細推導(保證能看懂)
