//
// main.cpp
// PATA1047
//
// Created by Phoenix on 2018/2/12.
// Copyright © 2018年 Phoenix. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
const int maxn = 2510;
vector<int> course[maxn];
int charTonum(char a[]){
int ans = 0;
for (int i = 0; i < 3; i++) {
ans = ans * 26 + a[i] - 'A';
}
ans = ans * 10 + a[3] - '0';
return ans;
}
char str[5];
void numTochar(int x){
str[3] = x % 10 + '0';
x /= 10;
for(int i = 2; i >= 0; i--) {
str[i] = x % 26 + 'A';
x /= 26;
}
printf("%s\n", str);
}
int main(int argc, const char * argv[]) {
int n, m;
scanf("%d %d", &n, &m);
for(int i = 0; i < n; i++) {
char name[5];
scanf("%s", name);
int id = charTonum(name);
int k;
scanf("%d", &k);
for(int j = 0; j < k; j++) {
int s;
scanf("%d", &s);
course[s].push_back(id);
}
}
for(int i = 1; i <= m; i++) {
printf("%d %d\n", i, course[i].size());
sort(course[i].begin(), course[i].end());
for (int j = 0; j < course[i].size(); j++) {
numTochar(course[i][j]);
}
}
return 0;
}
PATA1047题解
最新推荐文章于 2021-08-26 10:46:12 发布