2019.12.31 大一练习赛

2019年最后一天

Problem A:NEFU1609 QWQ和QAQ

//搬运自队友,已征得本人同意
#include <bits/stdc++.h>
using namespace std;
struct cp
{
    int a,b,c;
    int d;
} data[5];
int main()
{
    int t;
    while(cin >> t)
    {
        while(t--)
        {
            memset(data,0,sizeof(data));
            int sum,maxx=-1,x,y,z;;
            for(int i=1; i<=3; i++)
                cin >> data[i].a >> data[i].b >> data[i].c;
            cin >> x >> y >> z;
            for(int i=1; i<=3; i++)
                cin >> data[i].d;
            int tmp[5]= {0},ttmp[5];
            for(int i=1; i<=3; i++) //求x,y,z最小的数
            {
                if(data[i].a!=0)
                    ttmp[1]=x/data[i].a;
                else
                {
                    ttmp[1]=2005;
                }
                if(data[i].b!=0)
                    ttmp[2]=y/data[i].b;
                else
                {
                    ttmp[2]=2005;
                }
                if(data[i].c!=0)
                    ttmp[3]=z/data[i].c;
                else
                {
                    ttmp[3]=2005;
                }
                sort(ttmp+1,ttmp+4);
                tmp[i]=ttmp[1];
                //cout << tmp[i]<< endl;
            }
            int i,j,k;
            for(i=0; i<=tmp[1]; i++)
            {
                for(j=0; j<=tmp[2]; j++)
                {
                    for(k=0; k<=tmp[3]; k++)
                    {
                        sum=i*data[1].d+j*data[2].d+k*data[3].d;
                        int sum1[5];
                        sum1[1]=i*data[1].a+j*data[2].a+k*data[3].a;
                        sum1[2]=i*data[1].b+j*data[2].b+k*data[3].b;
                        sum1[3]=i*data[1].c+j*data[2].c+k*data[3].c;
                        if(sum1[1]<=x&&sum1[2]<=y&&sum1[3]<=z)
                            if(maxx<sum)
                                 maxx=sum;
                    }
                }
            }
            cout << maxx <<endl;
        }
    }
    return 0;
}

Problem B:QWQ和神奇的传送器

排列组合?杨辉三角?

#include<bits/stdc++.h>
using namespace std;
int a[15][15];
int main()
{
    int t;
    a[1][1]=1;
    	for(int i=2; i<=13; i++)
    	{
        	for(int j=1; j<=13; j++)
        	a[i][j]=a[i-1][j-1]+a[i-1][j];
    	}
    while(cin >> t)
    {
        int m,n;
        while(t--)
        {
        	cin>>m>>n;
            cout<<a[n][m]<<endl;
        }
    }
    return 0;
}

Problem C:NEFU1607 QWQ和神秘商人

#include<bits/stdc++.h>
using namespace std;
struct node{
	int price, value;
}jewel[100010];
int n, k;
bool cmp(node x, node y)
{
	if(x.price != y.price)
		return x.price>y.price;
	else return x.value>y.value;
}
int main()
{
	while(cin>>n>>k)
	{
		int flag, cnt=0;
		for(int i=1; i<=n; i++)
			cin>>jewel[i].price;
		for(int i=1; i<=n; i++)
			cin>>jewel[i].value;
		sort(jewel+1, jewel+n+1, cmp);
		for(int i=1; i<=n; i++)
		{
			if(k>=jewel[i].price)
			{
				cnt += jewel[i].value;
				k = jewel[i].price;
			}
		}
		cout<<cnt<<endl;
	}
	return 0;
}

Problem D:NEFU1606 QWQ和棋局挑战

#include<bits/stdc++.h>
using namespace std;
int a[15][15];
int main()
{
    a[1][1]=1;
    for(int i=2;i<=13;i++)
    {
        for(int j=1;j<=13;j++)
        a[i][j]=a[i-1][j-1]+a[i-1][j];
    }
    int n,k;
    while(cin>>n>>k)
    {
        int sum;
        sum = a[n+1][k+1];
        long long ans=1;
        int tmp=n+1-k;
        for(int i=n;i>=tmp;i--)
            ans = ans*i;
        cout<<sum*ans<<endl;
    }
    return 0;
}

Problem E:NEFU1604 QWQ和彩色石

#include<bits/stdc++.h>
using namespace std;
int n, a[110], b[110];
int main()
{
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		scanf("%d", &a[i]);
		b[a[i]]++;
	}
	sort(b, b+110);
	reverse(b, b+110);
	printf("%d", b[0]);
	return 0;
}

Problem F:NEFU1605 QWQ和翻译机

#include<bits/stdc++.h>
using namespace std;
char a[105], b[105];
bool flag = 1;
int main()
{
	while(scanf("%s %s", a, b) != EOF)
	{
		//gets(a);
		//gets(b);
		int n = strlen(a);
		for(int i=0; i<n; i++)
			if(a[i] != b[n-i-1])
			{
				flag = 0;
				break;
			}
		if(!flag) cout<<"NO"<<endl;
		else cout<<"YES"<<endl;
	}
	return 0;
}

Problem G:NEFU1610 海贼的奖品赞助

#include<bits/stdc++.h>
using namespace std;
int n, cnt=0;
double cup;
int main()
{
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		cin>>cup;
		if(cup < 20.00) cnt++;
	}
	printf("%.2lf", (n-cnt)*1.0/n);
	return 0;
}

莫的灵魂
排名

发布了58 篇原创文章 · 获赞 40 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/baidu_41248654/article/details/103791222