51分,但是错的和别的帖子都不一样???
查看原帖
51分,但是错的和别的帖子都不一样???
655467
ilE4Ri9dx楼主2022/7/6 22:33

#1、#2、#5 too short on line one

#include<bits/stdc++.h>
using namespace std;
int main(){
	string s;
	int a[30]={},score[20]={},sum[20]={},cnt=0,cnt_space=0,mark;
	int turn=1;
	getline(cin,s);
	int len=s.length();
	for(int i=0;i<len;i++){
		if(s[i]==' '){
			cnt_space++;
			if(s[i+1]==' ') cnt_space--;
			if(cnt_space==10){
				mark=turn;
			}
			continue;
		}
		if(s[i]=='/'&&s[i-1]!=' '&&s[i-1]!='/'&&i!=0){
			a[turn]=10-(s[i-1]-'0');
			turn++;
			continue;
		}
		if(s[i]=='/') a[turn++]=10;
		else a[turn++]=s[i]-'0';
	}
	turn--;
	mark--;
//	printf("%d",mark);
//	for(int i=1;i<=turn;i++) printf("%d ",a[i]);
//	return 0;
	for(int i=1;i<=mark;){
		if(a[i]==10){
			cnt++;
			score[cnt]=10+a[i+1]+a[i+2];
			sum[cnt]=sum[cnt-1]+score[cnt];
			i++;
			continue;
		}
		if(a[i]+a[i+1]==10){
			cnt++;
			score[cnt]=10+a[i+2];
			sum[cnt]=sum[cnt-1]+score[cnt];
			i+=2;
			continue;
		}
		if(a[i]+a[i+1]<10){
			cnt++;
			score[cnt]=a[i]+a[i+1];
			sum[cnt]=sum[cnt-1]+score[cnt];
			i+=2;
		}
//		printf("%d ",i);
	}
	for(int i=1;i<=cnt;i++) printf("%d ",score[i]);
	printf("\n");
	for(int i=1;i<=cnt;i++) printf("%d ",sum[i]);
	return 0;
}

咋回事啊QwQ

2022/7/6 22:33
加载中...