社区讨论
74分求调(必关)
P3864[USACO1.2] 命名那个数字 Name That Number参与者 2已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mks361uv
- 此快照首次捕获于
- 2026/01/24 17:07 4 周前
- 此快照最后确认于
- 2026/01/24 19:18 4 周前
CPP
#include<iostream>
#include<unordered_map>
#include<algorithm>
#include<set>
#define M 50009
#define long long
using namespace std;
std::string ji[M];
std::unordered_map<char, int>ni;
std::set<std::string>anss;
int key[M];
int a, b;
int c = 0, d = 0;
std::string s;
int pd(std::string ss) {
int sz = (int)ss.size();
if (sz != c) {
return 0;
}
for (int i = 0; i < sz; ++i) {
if (ni[ss[i]] != key[i+1]) {
return 0;
}
}
return 1;
}
signed main() {
std::ios::sync_with_stdio(0);
std::cin.tie(0);
std::cout.tie(0);
ni['A'] = ni['B'] = ni['C'] = 2;
ni['D'] = ni['E'] = ni['F'] = 3;
ni['G'] = ni['H'] = ni['I'] = 4;
ni['J'] = ni['K'] = ni['L'] = 5;
ni['M'] = ni['N'] = ni['O'] = 6;
ni['P'] = ni['R'] = ni['S'] = 7;
ni['T'] = ni['U'] = ni['V'] = 8;
ni['W'] = ni['X'] = ni['Y'] = 9;
std::cin >> a;
while (a>0) {
c++;
key[c] = a % 10;
a /= 10;
}
std::reverse(key + 1, key + c + 1);
while (std::cin >> s) {
d++;
ji[d] = s;
}
for (int i = 1; i <= d; ++i) {
if (pd(ji[i]) == 1) {
anss.insert(ji[i]);
std::cout<<ji[i]<<"\n";
}
}
if (anss.empty()) {
std::cout << "NONE";
return 0;
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...