假设选择了字符串a和b:

假设两人都按照最聪明的策略,那么观察一下可以找出规律:当a和b的字符串长度之和为奇数的时候zcc会败。

另外当a==b的时候zcc也会败(当时做的时候忘了这个了T^T)

接下来程序就好写了。总方案数是C(N,2)=N*(N-1)

判重要用map。

最后别忘了化简分数。

 1 #include <iostream>
 2 #include<cstring>
 3 #include<map>
 4 #include<vector>
 5 using namespace std;
 6 string s;
 7 int T,N,l;
 8 int ee[20010],oo[20010];
 9 string ss[20010];
10
11 int gcd(int a,int b)
12 {
13     if(a<b) swap(a,b);
14     if(b==0)    return a;
15     else return (gcd(b,a%b));
16 }
17
18 int main()
19 {
20     cin>>T;
21     while(T--)
22     {
23         memset(ee,0,sizeof(ee));
24         memset(oo,0,sizeof(oo));
25         map<string,int>  ht;
26         cin>>N;
27         int le=0,lo=0,lx=0;
28         for(int i=1;i<=N;i++)
29         {
30             cin>>s;
31             ss[i]=s;
32             l=s.length();
33             if(ht.count(s))
34             {
35                 //cout<<ht[s]<<endl;
36                 lx+=ht[s];
37                 ht[s]++;
38             }
39             else
40                 ht.insert(pair<string,int>(s,1));
41             if(l%2==0)
42             {
43                 ee[i]=1;
44                 le++;
45             }
46             else
47             {
48                 oo[i]=1;
49                 lo++;
50             }
51         }
52         //int lx=le*(le-1)/2+lo*(lo-1)/2;
53         lx+=le*lo;
54         int ly=N*(N-1)/2;
55         //cout<<le<<" "<<lo<<" -- "<<lx<<" "<<ly<<endl;
56         int gg=gcd(lx,ly);
57         lx=lx/gg;    ly=ly/gg;
58         cout<<lx<<"/"<<ly<<endl;
59     }
60     return 0;
61 }

View Code

转载于:https://www.cnblogs.com/pdev/p/4511580.html

hdu 5229 找规律相关推荐

  1. 汉诺塔问题hdu 2065——找规律

    这类题目就是纸上模拟,找规律. 问题描述:在一块铜板上有三根杆,目的是将最左边杆上的盘全部移到右边的杆上,条件是不允许直接从最左(右)边移到最右(左)边(每次移动一定是移到中间杆或从中间移出),也不允 ...

  2. HDU 1564 找规律博弈

    题目大意是: 从n*n的方格角落的一个起点出发,每次移到上下左右一个未曾到达过的位置,谁不能走了谁就输了 想了好久都想不出,看了大神的题解 Orz了 果然博弈不是脑残的游戏啊... 这里从起点出发,将 ...

  3. hdu 1597 找规律

    #include<iostream> using namespace std; int main() {int k;int n;scanf("%d",&k);w ...

  4. HDU 5703 Desert 水题 找规律

    HDU 5703 Desert 水题 找规律 已知有n个单位的水,问有几种方式把这些水喝完,每天至少喝1个单位的水,而且每天喝的水的单位为整数.看上去挺复杂要跑循环,但其实上,列举几种情况之后就会发现 ...

  5. hdu 1165 坑爹找规律题

    http://acm.hdu.edu.cn/showproblem.php?pid=1165 不看题解,使劲找规律,应该是可以找到的,就是费时间! Problem Description As is ...

  6. hdu 4279 Number (找规律)

    http://acm.hdu.edu.cn/showproblem.php?pid=4279 题意: 给出a,b两个数,1<=a<=b 如果a,b不互质,且a%b != 0则说明a是b的特 ...

  7. HDU - 1284 钱币兑换问题 (找规律/完全背包)

    Problem Description 在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input 每行只有一个正整数N,N小于32768. Out ...

  8. hdu 7092 仓颉造数 (猜测,手模数据找规律,推公式)

    hdu 7092 仓颉造数 分析: 先考虑一个问题,若平均数能转换成 111 ,那么调和平均数也能转换成 111 ,反之亦然 所以,问题就转换成了,生成平均数,判断平均数是否会出现 111 ,至于能能 ...

  9. HDU 2515 Yanghee 的算术【找规律】

    题意:中文的题目 找规律可以发现 sum[1]=a[1]+a[2] sum[2]=a[1]+a[3] sum[n]=a[2]+a[3] 解出a[1],就可以求出其他的了 1 #include<i ...

最新文章

  1. R语言gganimate包创建可视化gif动图、可视化动图:ggplot2可视化静态散点图、gganimate包创建动态散点分面图(facet_wrap)动画基于transition_time函数
  2. Ubuntu安装、使用postgresql数据库
  3. java基础学习(二)数组
  4. Qt5 中 QWebEngineView 的使用,让桌面客户端和 web 端友好通信
  5. 自己定义WinXP的时间校正服务器
  6. HTML5 多图片上传(前端+后台详解)
  7. Netty入门(一)环境搭建及使用
  8. DigitalClock的替代者TextClock
  9. mysql删除重复记录只保留一条
  10. 计算机网络技术思维导图幕布全整理(附网页版链接)
  11. 计算机专业对未来职业的理想追求,IT行业个人职业生涯规划
  12. 用Redis中的zset实现一个限流器
  13. 全球首位AI评委亮相“83行代码挑战赛”,评分“快准狠”
  14. 华为新人培养计划曝光!(新员工培训就该这么做)
  15. 51单片机实例5——基于单片机的花样彩灯
  16. 清华大学 陈晨 计算机,TNet基于树型结构集群工具软件通信协议.PDF
  17. 如何将flac转换mp3的简单操作方式
  18. ArcGIS——第八届全国 GIS 应用技能大赛(下午)
  19. 【电子科大】金融市场与机构期末复习
  20. 如何把爱心图片变成“伪像素风”?用 CSS 贼容易!

热门文章

  1. 特征工程整理流程和涉及技术点
  2. ios中生成uuid
  3. 解决flex打包成exe之后不能升级的问题
  4. mysql kegg_阿里技术官甩出的768页MySQL优化笔记,火遍全网不是意外
  5. html绘制城堡,HTML5动画 - 山谷城堡
  6. linux系统修改只读文件权限如(etc/hosts)文件
  7. python类的应用_如何剖析python应用程序的类方法?
  8. 成功解决pycharm导入第三方库出现ReadTimeoutError超时的问题
  9. ~~队列(数据结构)(附模板题 AcWing 829. 模拟队列)
  10. string的operate+=