收获:

1. 应该从审题的时候就要留意特殊情况的判断,并且最好要将它们列出来,不然后面的代码实现之后很容易忘掉。

2. 有时候序号从1开始的要求转换成从0开始会更好操作。例如 1 2 3 | 4 5 6, 这两组,问3在哪一组,1/3 = 2/3 != 3/3,可见同一组的数同时用除法向下取整的函数无法得到同一个值,将导致错误。

#include<bits/stdc++.h>
#define _for(i,a,b) for(int i=a;i<b;i++)
using namespace std;const int maxk = 7777 + 3;
int T, K;
set<char>s[5];
int a[5];void solve()
{K--;int b[5]; b[4] = 1;for(int i = 3; i >= 0; i--){b[i] = b[i+1]*s[i+1].size();//cout << b[i] << endl;}vector<int>idx;for(int i = 0; i < 5; i++){if(K/b[i] >= s[i].size()){cout << "NO" <<endl;return ;}idx.push_back(K/b[i]);K %= b[i];}string ans;_for(i,0,5){set<char>::iterator it = s[i].begin();while(idx[i]--)it++;ans.push_back(*it);}cout << ans << endl;
}int main()
{
//    freopen("in.txt", "r",stdin);
//    freopen("out.txt", "w",stdout);cin >> T;while(T--){set<char>s1[5];set<char>s2[5];cin >> K;_for(i,0,6){string str;cin >> str;_for(j,0,5)s1[j].insert(str[j]);}_for(i,0,6){string str;cin >> str;_for(j,0,5)s2[j].insert(str[j]);}bool ok = true;_for(i,0,5){s[i].clear();set_intersection(s1[i].begin(), s1[i].end(), s2[i].begin(), s2[i].end(), inserter(s[i], s[i].begin()));if(s[i].size() == 0){ok = false;break;}
//            for(char c : s[i])
//                cout << c;
//            cout << endl;}if(ok)solve();elsecout << "NO" << endl;}return 0;
}

  

转载于:https://www.cnblogs.com/sanshi-2018/p/10500802.html

UVA - 1262 Password (注意空集的特殊情况)相关推荐

  1. UVA 1262 Password

    今天来写一篇数论中关于解码和编码的博客. 解码和编码都是根据二叉树进行的一中搜索,类似于DFS,所以也不必害怕,没有什么特别的. 老规矩直接给出AC代码,在代码中进行解释.

  2. π-Algorithmist分类题目(2)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(2) Set Theory U ...

  3. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  4. UVa Problem 10067 Playing With Wheels (摆弄轮子)

    // Playing With Wheels (摆弄轮子) // PC/UVa IDs: 110902/10067, Popularity: C, Success rate: average Leve ...

  5. java 操作mysql数据库得到错误码_[数据库/Java]数据库开发过程中产生的MySQL错误代码及其解决方案...

    前言 吐槽一下,均是这两天遇到的破烂事儿,搞定了也好,以后出现此类问题也就放心些了. 下列遇到的问题大都是因为MySQL从5.x版本升级到8.0.11(MySQL8.0涉及重大改版)后,跟着连带着出现 ...

  6. 【安全加密技术】 对称加密

    转载请注明出处:http://blog.csdn.net/sk719887916/article/details/46822663 上篇了解了<非对称加密>后 今天我来继续了解下加密技术中 ...

  7. SpringMVC之使用Validator接口进行验证

    对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证.SpringMVC自身对数据在服务端的校验有一个比较好的支持,它能将我们提 ...

  8. 如何在Git中保存用户名和密码?

    本文翻译自:How to save username and password in Git? I want to use a push and pull automatically in GitEx ...

  9. Linux(Ubuntu)下MySQL的安装与配置

    1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没有安装.若如下显示,则表示已经安装 2)如 ...

最新文章

  1. C#和JavaScript的简单互交
  2. Android中程序向桌面和Launcher添加快捷方式
  3. python的_thread模块来实现多线程(python核心编程例子)
  4. SAP导出Excel错点拒绝处理
  5. Cpp 对象模型探索 / 多重继承下基类指针释放子类对象的原理说明(虚析构函数的作用)
  6. boost::core::has_single_bit的测试
  7. 前端学习(3040):vue+element今日头条管理-上午回顾
  8. red hat linux 安装oracle10g vm,oracle 10g 在 RED HAT ENTERPRISE LINUX 5下的安装
  9. snownlp文本分词、情感分析、文本相似度与摘要生成
  10. MySQL函数 思维导图
  11. 读取cpu温度的api_读取CPU核心温度
  12. java中两个数组的并集_Java数组并集
  13. 5.询问姓名及电话号码
  14. 7,词根 - 倒、流
  15. idea project structure下modules的Language Level总是自动变到5
  16. iOS的三种常见计时器(NStimer、CADisplayLink、dispatch_source_t)的使用
  17. 原神服务器维护后抽奖池会更新吗,原神换up池会刷新保底吗
  18. Anaconda创建虚拟环境、配环境变量步骤笔记
  19. 今夕何夕(思路详解)
  20. 巨神奇,2013年的老Mac,竟直接装上macOS Ventura 13.1 Beta版

热门文章

  1. ajax load html页面,jQuery – AJAX load() 方法 | 菜鸟教程
  2. uml边界类例子_面向对象UML笔记
  3. html实现横向轮播,js实现横向轮播效果
  4. java udp丢包重发_UDPDataPacker_Java数据报之失序和丢包
  5. Servlet→DWR实现JAVA服务器端向客户端推送消息
  6. JavaScript函数的声明以及调用(1)
  7. cloc工具 linux,Linux下源代码行数统计工具(sloccount,cloc等)
  8. [leetcode周赛] 1349. 参加考试的最大学生数
  9. Java---集合类框架图
  10. C++11新特性之 可变参数模板