Kattis

这里写图片描述

题意

给出三个数,然后给出一个顺序,有ABC三个字母构成,
A是最大的数字
B是中间的数字
C是最小的数字

根据 ABC的顺序 给出 数字的顺序

思路
先排序一下,然后用 MAP 双向标记一下

AC代码

#include <cstdio>
#include <cstring>
#include <ctype.h>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <map>
#include <stack>
#include <set>
#include <numeric>
#include <sstream>

using namespace std;
typedef long long LL;

const double PI  = 3.14159265358979323846264338327;
const double E   = 2.718281828459;
const double eps = 1e-6;

const int MAXN = 0x3f3f3f3f;
const int MINN = 0xc0c0c0c0;
const int maxn = 1e3 + 5;
const int MOD  = 1e9 + 7;
int main()
{
    map <char, int> m;
    m.clear();
    int a[3];
    int i;
    for (i = 0; i < 3; i++)
        scanf("%d", &a[i]);
    sort(a, a + 3);
    for (i = 0; i < 3; i++)
        m['A' + i] = a[i];
    string s;
    cin >> s;
    for (i = 0; i < 3; i++)
    {
        if (i)
            printf(" ");
        cout << m[s[i]];
    }
    cout << endl;
}


原文地址:https://www.cnblogs.com/Dup4/p/9433282.html