计蒜客蓝桥杯模拟赛(五)总结

比赛一完,题目就看不了了只可以看到排名,题目不是很难,基本都是暴力,最后两个没做出来。。。,在这里存下代码,有些水题的代码没存


比赛地址:https://www.jisuanke.com/contest/652


-----------------------------------------九宫格---------------------------------------

#include <stdio.h>
int main()
{
    int sum=0;
    for(int a1=1;a1<=9;a1++)
    for(int a2=1;a2<=9;a2++)
    if(a1!=a2)
    for(int a3=1;a3<=9;a3++)
    if(a1!=a3&&a2!=a3)
    for(int a4=1;a4<=9;a4++)
    if(a1!=a4&&a2!=a4&&a3!=a4)
    for(int a5=1;a5<=9;a5++)
    if(a1!=a5&&a2!=a5&&a3!=a5&&a4!=a5)
    for(int a6=1;a6<=9;a6++)
    if(a1!=a6&&a2!=a6&&a3!=a6&&a4!=a6&&a5!=a6)
    for(int a7=1;a7<=9;a7++)
    if(a1!=a7&&a2!=a7&&a3!=a7&&a4!=a7&&a5!=a7&&a6!=a7)
    for(int a8=1;a8<=9;a8++)
    if(a1!=a8&&a2!=a8&&a3!=a8&&a4!=a8&&a5!=a8&&a6!=a8&&a7!=a8)
    for(int a9=1;a9<=9;a9++)
    if(a1!=a9&&a2!=a9&&a3!=a9&&a4!=a9&&a5!=a9&&a6!=a9&&a7!=a9&&a8!=a9)
    {
        int s1=a1+a2+a3;
        int s2=a1+a4+a7;
        if(a4+a5+a6==s1&&a7+a8+a9==s1&&a2+a5+a8==s2&&a3+a6+a9==s2)
            sum++;
    }
    printf("%d\n",sum);
    return 0;
}
-----------------------------------------------------组合数字----------------------------------------
#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#define mem(a,b) memset(a,b,sizeof(a))
#define N 500000
#define inf 0x3f3f3f3f
#define M 1000000+2000
#define LL long long
using namespace std;
int x[100],vis[100],ans;
int judge()
{
    if(x[1]*x[2]+x[3]*x[4]==x[5]*x[6]&&x[7]*x[8]-x[9]*x[10]==x[11]*x[12])
        return 1;
    return 0;
}
void dfs(int k)
{
    if(k==13)
    {
        if(judge())
            ans++;
        return ;
    }
    for(int i=1; i<=13; i++)
    {
        if(vis[i]==0)
        {
            vis[i]=1;
            x[k]=i;
            dfs(k+1);
            vis[i]=0;
        }
    }
}
int main()
{
    ans=0;
    mem(vis,0);
    dfs(1);
    printf("%d\n",ans);
}


---------------------------礼物盒--------------------------------------
#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#define mem(a,b) memset(a,b,sizeof(a))
#define N 1000+20
#define inf 0x3f3f3f3f
#define M 1000000+2000
#define LL long long
using namespace std;
struct node
{
	int c, k;
}a[1000];
bool cmp(node a, node b)
{
	return a.c<b.c;
}
int main()
{
	int sum = 0,cnt=0;
	for (int i = 0; i<36; i++)
		scanf("%d%d", &a[i].c, &a[i].k);
	sort(a, a + 36, cmp);
	for (int i = 0; i<36; i++)
	{
		if (a[i].k>20)continue;
		if (cnt + a[i].c <= 100)
		{
			cnt += a[i].c;
				sum ++;
		}
			
	}
	cout << sum;
	getchar(); getchar();
	return 0;
}

-------------------------成绩查询----------------------------
#include <stdio.h>
#include <string.h>
#include <string>
#include <iostream>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <algorithm>
#define mem(a,b) memset(a,b,sizeof(a))
#define N 1000+20
#define inf 0x3f3f3f3f
#define M 1000000+2000
#define LL long long
using namespace std;
int main()
{
    map<string, int>mp;
    string s1,s2;
    int score;
    while (1)
    {
        cin>>s1;
        if(s1=="insert")
        {
            cin>>s2>>score;
            if(score>mp[s2])
                mp[s2]=score;
        }
        else if(s1=="find")
        {
            cin>>s2;
            if(mp[s2]==0)
                cout<<"-1"<<endl;
            else
                cout<<mp[s2]<<endl;
        }
        else if(s1=="end")
        {
            break;
        }


    }
    return 0;
}


----------------------------------------方程的解------------------------------------------
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
    for(int x=1;x<999;x++)
    for(int y=1;y<999;y++)
    for(int z=1;z<999;z++)
    if(11*x+13*y+17*z==2471&&13*x+17*y+11*z==2739)
    {
        cout<<x+y+z<<endl;
        return 0;
    }
    return 0;
}

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值