zoukankan      html  css  js  c++  java
  • Codeforces

    https://codeforces.com/contest/1191/problem/B
    小心坎张听的情况。

    #include<bits/stdc++.h>
    using namespace std;
    
    string s[3];
    int main() {
    #ifdef Yinku
        freopen("Yinku.in", "r", stdin);
        //freopen("Yinku.out", "w", stdout);
    #endif // Yinku
        while(cin >> s[0] >> s[1] >> s[2]) {
            if(s[0] == s[1] && s[1] == s[2]) {
                //刻子
                puts("0");
            } else if(s[0] == s[1] || s[0] == s[2] || s[1] == s[2]) {
                puts("1");
            } else {
                //顺子
                int cntm = 0, cntp = 0, cnts = 0;
                for(int i = 0; i < 3; i++) {
                    if(s[i][1] == 'm')
                        cntm++;
                    else if(s[i][1] == 'p')
                        cntp++;
                    else
                        cnts++;
                }
                if(cntm == 3 || cntp == 3 || cnts == 3) {
                    sort(s, s + 3);
                    int lx = 0;
                    if(abs(s[0][0] - s[1][0]) == 1)
                        lx++;
                    if(abs(s[1][0] - s[2][0]) == 1)
                        lx++;
                    if(lx)
                        printf("%d
    ", 2 - lx);
                    else {
                        if(abs(s[0][0] - s[1][0]) == 2)
                            lx++;
                        if(abs(s[1][0] - s[2][0]) == 2)
                            lx++;
                        puts(lx ? "1" : "2");
                    }
                } else if(cntm == 1 && cntp == 1 && cnts == 1) {
                    puts("2");
                } else  {
                    char c = 'm';
                    if(cntp == 2)
                        c = 'p';
                    else if(cnts == 2)
                        c = 's';
                    vector<string> vs;
                    for(int i = 0; i < 3; i++) {
                        if(s[i][1] == c)
                            vs.push_back(s[i]);
                    }
                    if(abs(vs[0][0] - vs[1][0]) <= 2) {
                        puts("1");
                    } else {
                        puts("2");
                    }
                }
            }
        }
    }
    
  • 相关阅读:
    C++小记
    滑窗问题总结
    leetcode 350 easy
    C++中的 istringstream 的用法
    leetcode 235-290 easy
    leetcode 198-234 easy
    CNN 常用的几个模型
    leetcode 60-80 easy
    python 正则的使用例子和goupby
    leetcode 31-40 easy
  • 原文地址:https://www.cnblogs.com/Yinku/p/11179211.html
Copyright © 2011-2022 走看看