30分求调
查看原帖
30分求调
939666
chishen楼主2023/10/14 19:31
#include<bits/stdc++.h>
using namespace std;
struct re{
	int a,b,c,d;
}c[10]; 
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0); 
    int n,t,ans=0;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>c[i].a>>c[i].b;
    cin>>t;
    for(int i=1;i<=n;i++)
    {
    	ans+=c[i].b*(100/c[i].a);
    	c[i].c=100/c[i].a;//每个测试点的分数 
    	c[i].d=c[i].a-c[i].b;//剩多少测试点
	}
	if(ans>=t) 
	{
		cout<<"Already Au.";
		return 0;
	} 
	else
	{
		ans=t-ans;
		for(int i=1;i<=n;i++)
		{
			//cout<<c[i].c<<" "<<c[i].d<<" "<<c[i].c*c[i].d<<endl; 
			if(c[i].d==0||c[i].d*c[i].c<ans) 
			{
				cout<<"NaN"<<endl;
			}
			else
			{
				for(int j=1;j<c[i].d;j++)
				{
					if(c[i].c*j>ans)
					{
						cout<<j<<endl;
						break;
					} 
				} 
			} 
		}
	} 
    return 0;
}

为什么这样就行

#include<bits/stdc++.h>
using namespace std;
struct re{
	int a,b,c,d;
}c[10]; 
int main()
{
    int n,t,ans=0;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>c[i].a>>c[i].b;
    cin>>t;
    for(int i=1;i<=n;i++)
    {
    	ans+=c[i].b*(100/c[i].a);
    	c[i].c=100/c[i].a;//每个测试点的分数 
    	c[i].d=c[i].a-c[i].b;//剩多少测试点
    	//cout<<c[i].d<<" "<<c[i].c<<endl; 
	}
	if(ans>=t) 
	{
		cout<<"Already Au.";
		return 0;
	} 
	else
	{
		ans=t-ans;
		for(int i=1;i<=n;i++)
		{
			//cout<<c[i].c<<" "<<c[i].d<<" "<<c[i].c*c[i].d<<endl; 
			if(c[i].d==0||c[i].d*c[i].c<ans) 
			{
				cout<<"NaN"<<endl;
			}
			else
			{
				if(ans%c[i].c!=0)
				{
					cout<<((ans/c[i].c)+1)<<endl;
				} 
				else 
				{
					cout<<ans/c[i].c<<endl;
				}
			} 
		}
	}
    return 0;
}
2023/10/14 19:31
加载中...