全部评论
最后一道是那个什么AAA BBB CCC的吗,那测试样例也太简单了,题意都描述不清。
送花
回复 分享
用long试试
送花
回复 分享
秋招专场
官网直投
第一题ac0.9,第二题没看懂😂
送花
回复 分享
一样,第一题改用long过了0.9,第二题自测用例通过提交是0
送花
回复 分享
求2题的思路
送花
回复 分享
一样全0,感觉写的没问题
送花
回复 分享
同第一题case通过率为0,本地可以过
送花
回复 分享
看到一样我就放心了。。。。
送花
回复 分享
看到大家都一样就放心,哈哈哈哈哈哈哈哈哈哈哈哈
送花
回复 分享
第一题不知道为啥0.9
送花
回复 分享
求个第二题的思路
送花
回复 分享
ABC的全排列比较少,就打个表判断哪些可以,一共有36种,除了示例,还有比如[ABC,BAC,CBA],[AAA,AAA,AAA],[ABB,ABB,ABB](全相同)等。将输入存一个hash里,每一种组合的方案个数为3个相乘,比如AAA有2个,BBB有2个,CCC有两个,那么[AAA,BBB,CCC]的组合有8种。再加上如果AAA之类的如果个数大于3,也是可以组起来的,用组合公式算(我这里好像写错了,时间不够- - )。虽然提交也是0,但多给10分钟,我觉得是能AC的。
送花
回复 分享
第二题到底是啥意思啊,我按每张牌0,1,2属性对应位置匹配集合{A,B,C},{A,A,A},{B,B,B},{C,C,C}是0%,把每张牌都看成一个集合来匹配也是0%,什么鬼
送花
回复 分享
bool check(string& a, string& b, string& c) int cal(int n)//算排列 int main() { vector<string> str = { "AAA","AAB","AAC","ABA","ABB","ABC","ACA","ACB","ACC", };//全排列27个 vector<vector<vector<string>>> str_is; for (int i = 0; i < 25; i++) { for (int j = i + 1; j < 27; j++) { for (int k = j + 1; k < 27; k++) { if (check(str[i],str[j],str[k])) { vector<string> tmp2; vector<vector<string>> tmp1; tmp2.push_back(str[i]); tmp2.push_back(str[j]); tmp2.push_back(str[k]); tmp1.push_back(tmp2); str_is.push_back(tmp1); } } } } unordered_map<string, int> hash; int n,res = 0; cin >> n; while (n--) { int m = 3; string tmp; while (m--) { char input; cin >> input; tmp += input; } hash[tmp] ++; } for (auto var : str_is) { int res_tmp ; res_tmp = hash[var[0][0]] * hash[var[0][1]] * hash[var[0][2]]; res += res_tmp; } for (auto var : hash) { if (var.second > 3) res += cal(var.second); }
送花
回复 分享
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-06 11:55
网易有道_软件开发工程师 点赞 评论 收藏
分享