zoukankan      html  css  js  c++  java
  • #316 div.2

    主要记录下被坑的B。果然大晚上脑子就是不知道在干嘛,明明都测到 “1 1” 这个样例错了都没发现直接给放过去了,白白让人hack爽了...

    题意就是给你一个数m,让你从1~n个数中选一个作a,使1~n中的任意选一个数c,满足|c-m| > |c-a|的可能性最大,也就是离m近的数比离a近的数多,多种可能输出小的;

    画一下草图就能知道算是个几何概率吧,如果m-1 > n-m,即m离1近,那么在m+1~n中选一个位置a都会有更大的可能使离a近的数比离m近的数多;而其中概率最大的就是m+1 -- 只要c>=m+1都会满足|c-a| < |c-m|;

    同理m-1 > n-m的情况,选a为m-1能使满足|c-a| < |c-m|的c值最多;

    注意1 1应输出1

     1 #include<cstdio>
     2 #include<cstdlib>
     3 #include<cstring>
     4 int main()
     5 {
     6     int n, m;
     7     scanf("%d%d", &n, &m);
     8     if(n == m && n == 1) printf("1
    ");
     9     else
    10     {
    11         if(n-m > m-1)
    12         {
    13             printf("%d
    ", m+1);
    14         }
    15         else
    16         {
    17             printf("%d
    ", m-1);
    18         }
    19     }
    20     return 0;
    21 }
    View Code

    这场前三都不难,都能秒出,主要还是自己的代码准确度。。。

    A题让你选出票数最多的竞选人,

    m行n列,aij表示第i个城市分别给第1~j位候选人投了ai1~aij票,选出其中票数最多的就是这个城市选出的候选人,如果票数相同选序号小的;

    然后统计m个城市选出的票数最多的候选人,票数相同选择序号小的。

    水题不多说了;

    C题先给你一个长度为n的字符串,然后进行m种修改操作,每次操作将位置x的字符替换成字符c,然后统计更新字符串中连续两个‘.’的个数(即[..]的个数),注意一旦更新后就保持下去了,不会恢复到初始字符串;

    猛一看是个字符串查找,稍微一想不就是个模拟吗,首先计算出把原串中[..]的个数sum。每次操作sum的增减仅跟当前要替换的字符的左右两边相邻的两个字符有关:

    1)若 s[x] != ‘.’  且 c == ‘.’,如果 s[x-1] == ‘.’,那么ans++; 如果s[x+1] == ‘.’,ans++;

    2)若 s[x] == ‘.’ 且 c != ‘.’ ,如果 s[x-1] == ‘.’,那么ans--;   如果s[x+1] == ‘.’,ans--;

    没有什么坑点,也不上代码了;

  • 相关阅读:
    简单说说sharepoint虚机 金大昊(jindahao)
    SharePoint 自定义UI 金大昊(jindahao)
    学习SharePoint 2010 UI 总结 金大昊(jindahao)
    隐藏sharepoint2010列表的下拉菜单 金大昊(jindahao)
    安装Office Web Apps 2010 金大昊(jindahao)
    corev4.css
    SharePoint 2010的Form认证用户维护页面 金大昊(jindahao)
    今天买了两本中文SharePoint2010书 金大昊(jindahao)
    痛苦的日立移动硬盘 金大昊(jindahao)
    liferay开发环境创建
  • 原文地址:https://www.cnblogs.com/LLGemini/p/4729034.html
Copyright © 2011-2022 走看看