大佬们,代码为什么会全爆RE,求调
  • 板块学术版
  • 楼主CNzzc
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/7/31 16:44
  • 上次更新2024/7/31 18:29:40
查看原帖
大佬们,代码为什么会全爆RE,求调
750689
CNzzc楼主2024/7/31 16:44
#include<bits/stdc++.h>
#define ll long long
//#define int long long
#define endl '\n'
#define up(i,j,k,l) for(int i=j;i<=k;i+=l)
#define down(i,j,k,l) for(int i=j;i>=k;i-=l)
using namespace std;
const int N=1e2+10;
int n,m;
int a[N],f[N];
string s[N];
int ans[N],ca;
int t,ct,maxf,d;
int pd;
bool cmp(int x1,int x2)
{
	return x1>x2;
}
void solve()
{
	cin>>n>>m;
	up(i,1,m,1){
		cin>>a[i];
	}
	up(i,1,n,1){
		up(j,1,m,1){
			cin>>s[i][j];
			if(s[i][j]=='o'){
				f[i]+=a[j];
			}
		}
	}
	up(i,1,n,1){
		f[i]+=i;
		maxf=max(maxf,f[i]);
	}
	up(i,1,n,1){
		if(f[i]==maxf){
			pd++;
			break;
		}
	}
	up(i,1,n,1){
		if(f[i]==maxf && pd>=2){
			cout<<1<<endl;
			continue;
		}
		else if(f[i]==maxf && pd==1){
			cout<<0<<endl;
			continue;
		}
		up(j,0,N-2,1){
			ans[i]=0;
		}
		ca=0;
		up(j,1,m,1){
			if(s[i][j]=='x'){
				ca++;
				ans[ca]=a[j];
				//cout<<ans[ca]<<' '<<a[j]<<endl;
			}
		}
		sort(ans+1,ans+ca+1,cmp);
		/*up(j,1,ca,1){
			cout<<ans[j]<<' ';
		}
		cout<<endl;*/
		ct=maxf;
		t=f[i];
		int ctt=ca;
		ca=0;
		
		d=0;
		//cout<<t<<endl;
		while(t<=ct && (f[i]!=maxf || pd==true) && ca<=ctt){
			ca++;
			t+=ans[ca];
			//cout<<t<<endl;
			d++;
		}
		//d--;
		cout<<d<<endl;
	}
	return;	
}
int main()
{
	freopen("champion.in","r",stdin);
	freopen("champion.out","w",stdout);
	int _=1;
	//cin>>_;
	up(i,1,_,1){
		solve();
	}
	return 0;
}
2024/7/31 16:44
加载中...