2020牛客暑期多校训练营(第八场)Game SET
传送门:Game SET
题意
题解
代码
1 #include<bits/stdc++.h>
2 using namespace std;
3
4 map<string,int>p;
5 int a[10010][10];
6
7 int main()
8 {
9 p["*"]=0;
10 p["one"]=1;
11 p["two"]=2;
12 p["three"]=3;
13 p["diamond"]=1;
14 p["squiggle"]=2;
15 p["oval"]=3;
16 p["solid"]=1;
17 p["striped"]=2;
18 p["open"]=3;
19 p["red"]=1;
20 p["green"]=2;
21 p["purple"]=3;
22
23 int t;
24 int tt=1;
25 cin>>t;
26 while(t--){
27 int n;
28 cin>>n;
29 string s;
30 for(int i=0;i<n;i++){
31 cin>>s;
32 string ss;
33 int cnt=0;
34 for(int j=0;j<s.size();j++){
35 if(s[j]=='[') ss="",cnt++;
36 else if(s[j]==']') a[i+1][cnt]=p[ss];
37 else ss+=s[j];
38 }
39 }
40 cout<<"Case #"<<tt++<<": ";
41 int flag=0;
42 for(int i=1;i<=n;i++){
43 for(int j=i+1;j<=n;j++){
44 for(int k=j+1;k<=n;k++){
45 int g=0;
46 for(int l=1;l<=4;l++){
47 if(a[i][l]==0||a[j][l]==0||a[k][l]==0) continue;
48 if(a[i][l]==a[j][l]&&a[i][l]==a[k][l]) continue;
49 if(a[i][l]!=a[k][l]&&a[i][l]!=a[j][l]&&a[j][l]!=a[k][l]) continue;
50 g=1;
51 break;
52 }
53 if(!g){
54 cout<<i<<' '<<j<<' '<<k<<endl;
55 flag=1;
56 }
57 if(flag) break;
58 }
59 if(flag) break;
60 }
61 if(flag) break;
62 }
63 if(!flag) cout<<-1<<endl;
64 }
65 return 0;
66 }
2020牛客暑期多校训练营(第八场)Game SET的更多相关文章
- 2020牛客暑期多校训练营(第一场)H Minimum-cost Flow
Minimum-cost Flow 题目:给n个点,m条边.接下来m行包含(a,b,c),即a,b之间有单位流量代价为c的边.接下来有q个问题,每个问题给定(x,y),即假设每条边的容量为x/y时,从 ...
- 2020牛客暑期多校训练营(第二场) Boundary
传送门:Boundary 题意:给你n个点的坐标,问最多有多少个点可以在同一个圆上,(0,0)必须在这个圆上. 题解:三个点确定一个圆,所以暴力枚举两个点和(0,0)组成的圆,如果三个点不共线的话, ...
- 2020牛客暑期多校训练营(第一场)Easy Integration
传送门:J. Easy Integration 题意:给你n,求这个积分,最后的结果分子是记为p,分母记为q. 求(p*q-1)mod 998244353. 题解:比赛完看到巨巨说这是贝塔函数,我一搜 ...
- 2020牛客暑期多校训练营 (第二场) All with Pairs
传送门:All with Pairs 题意:给你n个字符串,求出,f(si,sj)的意思是字符串 si 的前缀和字符串 sj 后缀最长相等部分. 题解:先对所有的字符串后缀hash,用map记录每个h ...
- 2020牛客暑期多校训练营(第二场)Fake Maxpooling
传送门:Fake Maxpooling 题意:给出矩阵的行数n和列数m,矩阵 Aij = lcm( i , j ) ,求每个大小为k*k的子矩阵的最大值的和. 题解:如果暴力求解肯定会t,所以要智取 ...
- 2020牛客暑期多校训练营(第二场) F.Fake Maxpooling (单调队列)
题意:有一个\(n\)x\(m\)的矩阵,\(A_{i,j}=lcm(i,j)\),对于每个\(k\)x\(k\)的子矩阵,其最大元素贡献给答案,求答案的最大值. 题解:矩阵构成我们直接\(i*j/g ...
- 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)
题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9: 对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可. 后者mod=1e9,5才 ...
- 2019牛客暑期多校训练营(第一场)A题【单调栈】(补题)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v each with m distinct elem ...
- 2019牛客暑期多校训练营(第一场) B Integration (数学)
链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ...
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
随机推荐
- Cisco常用命令
• 首次配置网络设备 ○ 需要使用Console线连接进行初始化配置 § 在PC使用"超级终端"或其他软件. • 交换机的工作模式: ...
- 【十天自制软渲染器】DAY 01:图形学学习建议与环境搭建
推荐直接阅读博客原文,更新更及时,阅读体验更佳 「十天自制软渲染器」这个标题我承认标题党了.在对图形学一无所知的情况下想十天自制一个软渲染器,就好似一节课没上过却试图一个晚上看完<30 天精通 ...
- docker基础总结
搜索镜像docker search ubuntu 搜索ubuntu的Docker镜像 搜索结果单个单词ubuntu这样的镜像,被称为基础镜像或根镜像,这些基础镜像由 Docker 公司创建搜索结果ti ...
- python学习笔记 | selenium各浏览器驱动下载地址
Chrome http://chromedriver.storage.googleapis.com/index.html 不同的Chrome的版本对应的chromedriver.exe 版本也不一样, ...
- Java 多线程读取文件并统计词频 实例 出神入化的《ThreadPoolExecutor》
重在展示多线程ThreadPoolExecutor的使用,和线程同步器CountDownLatch,以及相关CAS的原子操作和线程安全的Map/队列. ThreadPool主线程 1 import j ...
- node爬虫 -- 网页图片
相信大家都听说过爬虫,我们也听说过Python是可以很方便地爬取网络上的图片,但是奈何本人不会Python,就只有通过 Node 来实践一下了. 接下来看我如何 板砖 ! !!
- 你不知道的Linux目录
Linux二级目录及其对应的作用 主要文件
- kubernets之服务重定向
一 服务的强大功能之处的其他表现 前面介绍的所有有关服务的说明,都是将集群内部的pod应用暴露出来提供外部客户端或者内部的客户端进行访问,但是服务的强大之处远远不止于此 服务甚至可以将集群外部的应用 ...
- 关于SET/GET PARAMETER ID的注意事项
通常这两个语法配合 PARAMETER, select-options中的参数 memory id来使用. 如,选择屏幕定义 PARAMETER p1 TYPE c LENGTH 10 MEMORY ...
- Request&Response总结
Request&Response Request 请求对象的类视图 请求对象常用方法 获取请求路径 返回值 方法名 说明 String getContextPath() 获取虚拟目录名称 St ...