Testing Round #14 (Unrated) C

来源:互联网 发布:ubuntu c 开发 编辑:程序博客网 时间:2024/06/11 03:07

计数



#include<iostream>#include<algorithm>#include<iomanip>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<cmath>#include<set>#include<queue>#include<stack>#include<map>#define PI acos(-1.0)#define in freopen("in.txt", "r", stdin)#define out freopen("out.txt", "w", stdout)#define kuaidian ios::sync_with_stdio(0);using namespace std;typedef long long ll;typedef unsigned long long ull;const int maxn = 10 + 7, maxd = 1e8;const ll mod = 1e9 + 7;const int INF = 0x7f7f7f7f;int n;struct node {    char c;    int n;}a[maxn];bool cmp(node a, node b) {    return a.n > b.n;}set<char> st;int vis[maxn] = {0};int main() {    kuaidian;    for(int i = 0; i < 11; ++i) {        a[i].c = 'a' + i;    }    cin >> n;    string s;    for(int i = 0; i < n; ++i) {        cin >> s;        st.insert(s[0]);        reverse(s.begin(), s.end());        int t = 1;        for(int j = 0; j < s.length(); ++j) {            a[s[j]-'a'].n += t;            t *= 10;        }    }    sort(a, a+10, cmp);    int f = 0;    for(int i = 0; i < 10; ++i) {        if(a[i].n && st.count(a[i].c) == 0) {            vis[i] = 1;            break;        }    }    int ans = 0, id = 1;    for(int i = 0; i < 10; ++i) {        if(vis[i] == 0) {ans += (id * a[i].n); id++;}    }    cout << ans ;    return 0;}


原创粉丝点击