排球

root 站长 2022-05-16 21:58:16 0
排球
众所周知,排球的计分规则是这样的:
当一支队到 25 分并且领先 2 分及以上的时候获胜,若战成 24 分平,那么继续比赛,直到一队领先 2 分及以上时这一队获胜。
乌野和青城在县预赛中又遇上了,这场比赛是三局两胜制。请你当一回计分器,输出每局比赛的得分,并且在结束的时候输出哪一队获胜了。
Input
每一行,输入两个数 opt,x。opt=1 时表示青城连续拿下 x球,opt=2 时表示乌野连续拿下 x 球。
当胜负已定时,停止读入。输入保证一定描述了一场合法的排球比赛,即比分不会出现异常的情况。
Output
前面 2 或 3 行,输出比分,青城在前,乌野在后。
在比赛结束后再输出一行,若青城获得大局胜利,输出 1,否则输出 2。
Examples
input
2 25
1 24
1 1
2 24
1 24
2 1
1 1
2 1
2 1
output
0:25
25:0
25:27
2

{{ vote && vote.total.up }}

共 4 条回复

CPP 刷题王
#include <bits/stdc++.h>
using namespace std;
int a3, b3;
int main() {
	int a, b;
	int a2 = 0, b2 = 0;
	while(a3 < 2 && b3 < 2) {
		cin >> a >> b;
		if(a == 1) {
			a2 += b;
		} else {
			b2 += b;
		}
		if(a2 >= 25 && a2 - b2 >= 2 || b2 >= 25 && b2 - a2 >= 2) {
			cout << a2 << ':' << b2 << endl;
			if(a2 > b2)
				a3++;
			else
				b3++;
			a2 = 0;
			b2 = 0;
		}
	}
	if(a3 > b3)
		cout << 1;
	else
		cout << 2;
	return 0;
}
CPP 刷题王

YES

ykj12
#include<bits/stdc++.h>
using namespace std;
int q=0,w=0,qb=0,wb=0;
int main(){
	int opt,x,z=1;
	while(1){
		if(z>3||qb+wb>3) break;
		cin>>opt>>x;
		if(opt==1) q+=x;
		else if(opt==2) w+=x;
		//cout<<" "<<q<<" "<<w<<endl;
		if(q>=25&&q>w&&q-w>=2&&w<=24){
			qb++;
			cout<<q<<":"<<w<<endl/*<<z<<" "<<qb<<" "<<wb<<endl*/;
			z++;
			q=0,w=0;
		}
		else if(w>=25&&w>q&&w-q>=2&&q<=24){
			wb++;
			cout<<q<<":"<<w<<endl/*<<z<<" "<<qb<<" "<<wb<<endl*/;
			z++;
			q=0,w=0;
		}
		else if(w>=24&&q>=24&&w-q>=2&&w>q){
			wb++;
			cout<<q<<":"<<w<<endl/*<<z<<" "<<qb<<" "<<wb<<endl*/;
			z++;
			q=0,w=0;
		}
		else if(q>=24&&w>=24&&q-w>=2&&q>w){
			qb++;
			cout<<q<<":"<<w<<endl/*<<z<<" "<<qb<<" "<<wb<<endl*/;
			z++;
			q=0,w=0;
		}
		if(z==3&&qb==2){
			cout<<1;
			return 0;
		}
		else if(z==3&&wb==2){
			cout<<2;
			return 0;
		}
	}
	if(qb>wb) cout<<1;
	else if(qb<wb) cout<<2;
	return 0;
}

简单

ykj04 Hi

图灵杯2022网络邀请赛初级组第一题