题目列表

乒乓比赛

考虑到最好的方法,是两人一起反向移动(即 A 去贴贴 B,B 去贴贴 A)。

但中间桌子数为奇数时无法贴贴,考虑改变奇偶性。

所以肯定有一人到最前或最后,然后再反向移动去贴贴。

代码

#include<bits/stdc++.h>
#define endl '\n'
#define S(x) scanf("%lld",&x);
#define debug(x) cout<<#x<<":"<<x<<endl<<"LINE:"__LINE__<<endl<<"FUNCTION:"<<__FUNCTION__<<endl
using namespace std;
int main()
{
    freopen("match.in","r",stdin);
    freopen("match.out","w",stdout);
    long long n,a,b;
    S(n);S(a);S(b);
    if((b-a)%2==0)printf("%lld\n",(b-a)/2);
    else 
    {
        long long x=n-b+1,y=a;
        printf("%lld\n",min(x+(n-(a+x))/2,y+(b-y-(1))/2));
    }
    return 0;
}

麻将

一个码量不算太大的模拟。

依次判断即可。

  • 国士无双十三面

    查看 $1$ 万、$9$ 万、$1$ 条、$9$ 条、$1$ 筒、$9$ 筒、东、南、西、北、中、发、白是否均出现且有一张出现次数 $\geq 2$。

  • 七对子

    这个最简单,扫一遍看看是否恰好出现两次。

  • 九莲宝灯

    我&%#¥你*@#&的,同色指字母相同哪里说了!!!

    好,身心舒畅了。

    先数数字,然后看是不是都是一样的字母即可。

代码

#include<bits/stdc++.h>
#define endl '\n'
#define S(x) scanf("%d",&x);
#define debug(x) cout<<#x<<":"<<x<<endl<<"LINE:"__LINE__<<endl<<"FUNCTION:"<<__FUNCTION__<<endl
using namespace std;
const int n=14;
void solve()
{
    string st[20];
    map<string,int>mp;
    mp.clear();
    for(int i=1;i<=n;i++)
    {
        cin>>st[i];
        mp[st[i]]++;
    }
    //Thirteen
    if(mp["1m"]>=1&&mp["9m"]>=1&&
       mp["1s"]>=1&&mp["9s"]>=1&&
       mp["1p"]>=1&&mp["9p"]>=1&&
       mp["E"] >=1&&mp["S"] >=1&&mp["W"] >=1&&mp["N"] >=1&&
       mp["B"] >=1&&mp["F"] >=1&&mp["Z"] >=1&&(
       mp["1m"]>=2||mp["9m"]>=2||
       mp["1s"]>=2||mp["9s"]>=2||
       mp["1p"]>=2||mp["9p"]>=2||
       mp["E"] >=2||mp["S"] >=2||mp["W"] >=2||mp["N"] >=2||
       mp["B"] >=2||mp["F"] >=2||mp["Z"] >=2))
    {
        puts("Thirteen");
        return;
    }
    //Seven
    bool flag=1;
    for(int i=1;i<=n;i++)
    {
        if(mp[st[i]]!=2)flag=0;
    }
    if(flag)
    {
        puts("Seven");
        return;
    }
    //Nine
    int m=0,s=0,p=0;
    bool fm=1,fs=1,fp=1;
    for(int i=1;i<=9;i++)
    {
        if(i==1||i==9)
        {
            if(mp[to_string(i)+"m"])m++;
            if(mp[to_string(i)+"s"])p++;
            if(mp[to_string(i)+"p"])s++;
            if(mp[to_string(i)+"m"]<3)fm=0;
            if(mp[to_string(i)+"s"]<3)fp=0;
            if(mp[to_string(i)+"p"]<3)fs=0;
        }
        else
        {
            if(mp[to_string(i)+"m"])m++;
            if(mp[to_string(i)+"s"])p++;
            if(mp[to_string(i)+"p"])s++;    
            if(mp[to_string(i)+"m"]<1)fm=0;
            if(mp[to_string(i)+"s"]<1)fp=0;
            if(mp[to_string(i)+"p"]<1)fs=0; 
        }
    }
    if(mp["E"]<1&&mp["S"]<1&&mp["W"]<1&&mp["N"]<1&&
             mp["B"]<1&&mp["F"]<1&&mp["Z"]<1&&
        (m==9&&!p&&!s&&fm&&!fp&&!fs||
         !m&&p==9&&!s&&!fm&&fp&&!fs||
         !m&&!p&&s==9&&!fm&&!fp&&fs))puts("Nine");
    else puts("I don't know.");
}
int main()
{
    freopen("majsoul.in","r",stdin);
    freopen("majsoul.out","w",stdout);
    int t;
    S(t);
    while(t--)
    {
        solve();
    }
    return 0;
}

三角田地

先咕着

代码

跳芭蕾

先咕着

代码

最后修改:2023 年 04 月 23 日
v我50吃疯狂星期四