加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

占卜DIY

发布时间:2020-12-15 07:53:17 所属栏目:Java 来源:网络整理
导读:题目地址 Code #includeiostream#includevector#includemapusing namespace std;struct Node { vectorchar v; int cnt;}c[20];mapchar,int mp;int main(){ for(int i=2;i=9;++i) mp[i+'0'] = i; mp['A'] = 1,mp['0'] = 10,mp['J'] = 11,mp['Q'] = 12,mp['K']

题目地址

Code

#include<iostream>
#include<vector>
#include<map>
using namespace std;
struct Node {
    vector<char> v; int cnt;
}c[20];
map<char,int> mp;
int main()
{
    for(int i=2;i<=9;++i) mp[i+'0'] = i;
    mp['A'] = 1,mp['0'] = 10,mp['J'] = 11,mp['Q'] = 12,mp['K'] = 13;
    for(int i=1;i<=13;++i) {
        char c1,c2,c3,c4;
        cin>>c1>>c2>>c3>>c4;
        c[i].v.push_back(c4);
        c[i].v.push_back(c3);
        c[i].v.push_back(c2);
        c[i].v.push_back(c1);
    }
    for(int i=3;i>=0;--i) {
        char now = c[13].v[i];
        while(now != 'K') {
            c[mp[now]].v.push_back(now); c[mp[now]].cnt++;
            now = c[mp[now]].v[c[mp[now]].v.size()-5];
        }
    }
    int sum = 0;
    for(int i=1;i<=13;++i) {
        bool flag = 1;
        for(int j=1;j<=4;++j) {
            if(mp[c[i].v[c[i].v.size()-j]] != i) {
                flag = 0;
            }
        }
        if(flag && c[i].cnt==4) {
            ++sum;
        }
    }
    printf("%dn",sum);
    return 0;
}

大家可千万别学我,都快开学(8.31),也快CSP(还有70天),还在做模拟题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读