超时了!大佬求助!
查看原帖
超时了!大佬求助!
763807
2022CYQ楼主2024/7/6 00:05
#include<bits/stdc++.h>
using namespace std;
int a[7];
int n;
string x;
int main(){
	scanf("%d",&n);
	while(n--){
		int w=0;
		for(int i=1;i<=5;i++){
			a[i]=0;
			cin>>x;
			if(x=="?"){
				a[i]=-1;
				w++;
				continue;
			} 
			for(int j=0;j<x.size();j++){
				a[i]*=10;
				a[i]+=x[j]-'0';
			}
		}
		while(w>0){
			if(a[1]<0&&a[2]>0&&a[3]>0&&a[4]>0){
				a[1]=a[2]+a[3]+a[4];
				w--;
			}
			else if(a[2]<0&&a[3]>0&&a[5]>0){
				a[2]=(a[5]-a[3])/3;
				w--;
			}
			else if(a[3]<0&&a[2]>0&&a[5]>0){
				a[3]=a[5]-a[2]*3;
				w--;
			}
			else if(a[2]<0&&a[1]>0&&a[3]>0&&a[4]>0){
				a[2]=a[1]-a[3]-a[4];
				w--;
			}
			else if(a[3]<0&&a[1]>0&&a[2]>0&&a[4]>0){
				a[3]=a[1]-a[2]-a[4];
				w--;
			}
			else if(a[4]<0&&a[1]>0&&a[3]>0&&a[2]>0){
				a[4]=a[1]-a[3]-a[2];
				w--;
			}
			else if(a[5]<0&&a[2]>0&&a[3]>0){
				a[5]=a[2]*3+a[3];
				w--;
			}
		}
		for(int i=1;i<=5;i++){
			cout<<a[i]<<" ";
		} 
		cout<<endl; 
	}
	return 0;
}
2024/7/6 00:05
加载中...