Codeforces Round #224 (Div. 2)

题目:http://codeforces.com/contest/382

 

A Ksenia and Pan Scales

一个求天平是否能够平衡的题目。。。水题,注意一下结果的输出就行。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 #include <cstdlib>
 5 #include <algorithm>
 6 using namespace std;
 7 
 8 int main()
 9 {
10     int i,len;
11     int L,R,x,sum;
12      char a[10000],b[10000];
13      while(~scanf("%s",a))
14      {
15          L=0; R=0;
16          for(i=0; i<strlen(a); i++)
17          {
18              if(a[i]=='|')
19              break;
20              L++;
21          }
22          R=strlen(a)-1-L;
23          scanf("%s",b);
24          len=strlen(b);
25          x=abs(L-R);
26 
27          if(x>len)
28          printf("Impossible\n");
29          else if((len-x)%2==1)
30          printf("Impossible\n");
31          else
32          {
33                  sum=L+R+len;
34                  for(i=0; i<L; i++)
35                  printf("%c",a[i]);
36                  for(i=0; i<sum/2-L; i++)
37                  printf("%c",b[i]);
38 
39                  printf("%c",a[L]);
40                  for(i=sum/2-L; i<len; i++)
41                  printf("%c",b[i]);
42                  for(i=L+1; i<strlen(a); i++)
43                  printf("%c",a[i]);
44                  printf("\n");
45          }
46      }
47     return 0;
48 }

 

C Arithmetic Progression

已知n个数,再给一个数,求有多少种数,能使序列构成等差数列。。

比赛的时候思路有的混乱,没做,今天做了一下,1Y

网上还有按照 间隔分的做法,思路差不多。。代码也挺长的。。。

  1 #include <iostream>
  2 #include <cstdio>
  3 #include <cstring>
  4 #include <cstdlib>
  5 #include <map>
  6 #include <algorithm>
  7 using namespace std;
  8 
  9 int a[100005],b[100005];
 10 int n;
 11 int check(int d[],int ant)//判断是否符合等差数列的条件
 12 {
 13     int i,x;
 14     for(i=0; i<n; i++)
 15     b[i]=d[i];
 16 
 17     b[n]=ant;
 18     sort(b,b+n+1);
 19     x=b[1]-b[0];
 20     for(i=2; i<=n; i++)
 21     {
 22         if((b[i]-b[i-1])!=x)
 23         return 0;
 24     }
 25     return 1;
 26 }
 27 
 28 int main()
 29 {
 30     int i,f,x,sum,ans;
 31     while(~scanf("%d",&n))
 32     {
 33         map<int,int>mp;
 34         map<int,int>::iterator iter;
 35         x=0;
 36         for(i=0; i<n; i++)
 37             scanf("%d",&a[i]);
 38 
 39         if(n==1)  //特判
 40         printf("-1\n");
 41         else
 42         {
 43             sort(a,a+n);
 44             f=0;
 45             for(i=1; i<n; i++)
 46             if(a[i-1]==a[i])
 47             {
 48                 f=1; break;
 49             }
 50 
 51             if(a[0]==a[n-1])//特判
 52             printf("1\n%d\n",a[0]);
 53             else if(f)
 54             printf("0\n");//特判
 55             else
 56             {
 57                x=a[1]-a[0];
 58                if(check(a,a[0]-x)) //情况1,假设前两个与整个序列相符合,而且整个序列已经等差,前面
 59                {
 60                    mp[a[0]-x]++;
 61                }
 62                if(check(a,a[n-1]+x)&&mp[a[n-1]+x]==0)//情况1,假设前两个与整个序列相符合,而且整个序列已经等差,后面
 63                mp[a[n-1]+x]++;
 64                for(i=2; i<n; i++)  //情况2,假设前两个与整个序列相符合,而且整个序列没有等差
 65                {
 66                    if((a[i]-a[i-1])!=x)
 67                    {
 68                        if(check(a,a[i-1]+x)&&mp[a[i-1]+x]==0)
 69                        mp[a[i-1]+x]++;
 70                        break;
 71                    }
 72                }
 73                if(n>=3) //情况3,假设前两个与整个序列相符合
 74                {
 75                    x=a[2]-a[1];
 76                    if(check(a,a[0]+x)&&mp[a[0]+x]==0)
 77                    mp[a[0]+x]++;
 78                }
 79                else  //情况4,只有两个,取中间的值
 80                {
 81                    if((a[0]+a[1])%2==0)
 82                    {
 83                        if(check(a,(a[0]+a[1])/2)&&mp[(a[0]+a[1])/2]==0)
 84                        mp[(a[0]+a[1])/2]++;
 85                    }
 86                }
 87                sum=0;
 88                iter=mp.begin();
 89                while(iter!=mp.end())
 90                {
 91                    sum++;
 92                    iter++;
 93                }
 94                if(sum==0)
 95                printf("%d\n",sum);
 96                else
 97                {
 98                    printf("%d\n",sum);
 99                    ans=0;
100                    iter=mp.begin();
101                   while(iter!=mp.end())
102                   {
103                    ans++;
104                    if(ans!=sum)
105                    printf("%d ",iter->first);
106                    else
107                    printf("%d\n",iter->first);
108                    iter++;
109                   }
110                }
111             }
112         }
113     }
114     return 0;
115 }

 

转载于:https://www.cnblogs.com/bfshm/p/3524892.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二叉树第i层中的所有结点_讲透学烂二叉树(二):图中树的定义amp;各类型树的特征分析...

日常中我们见到的二叉树应用有&#xff0c;Java集合中的TreeSet和TreeMap&#xff0c;C STL中的set、map&#xff0c;以及Linux虚拟内存的管理&#xff0c;以及B-Tree&#xff0c;B-Tree在文件系统&#xff0c;都是通过红黑树去实现的。虽然之前写过《再谈堆排序&#xff1a;堆…

node-webkit 开发环境搭建

node-webkit支持的操作系统类型&#xff1a; Linunx:32bit / 64bitWindows: win32Mac:32bit,10.7 开发环境 1&#xff0c;根据自己的操作系统下载响应的nw二进制文件&#xff0c;下载地址&#xff1a;https://github.com/rogerwang/node-webkit 2,建立基本开发目录&#xff0c;…

mysql sqlsugar_.net core +mysqlSugar(最为简单的增删改查)

首先建立.net Core API - empty 这个就不说了然后创建新的Controller记得添加路由[Route("api/Users")]然后在Nuget Packages安装 所需安装包这里是用mysql所以下载如下的mysqlSugarCore(切记不要忘记安装Mysql.Data)创建实例化class文件DbText.cs用于连接数据库&…

关于eclipse的indigo版中文注释时字体太小的问题(转)

eclipse目前最新版代号indigo, 在win7上使用时中文注释时字体太小的问题. 为什么会这样? 首先我们应该知道, 在win7系统中, font是有"显示"和"隐藏" 状态的. 默认情况下, eclipse使用的默认字体courier new是处于 "隐藏"下的. 这样当eclipse打开…

webdriver(python)学习笔记七——多层框架定位与智能等待

多层框架或窗口定位&#xff1a; switch_to_frame()switch_to_window()智能等待&#xff1a; implicitly_wait()现在web应用中经常会遇到框架如&#xff08;frame&#xff09;或窗口&#xff08;windows&#xff09;的应用&#xff0c;这样定位就比较难&#xff0c;有时定位一个…

bbp代码python_如何正确计算加密债券价格的BBP(Bollinger波段百分比)?

我试图用这个代码计算python中的BBP(Bollinger频带百分比)。然而&#xff0c;我的^{cd1>}函数返回^{{cd2>}或^{cd3>}用于^{cd4>}。当我使用一些硬币收盘价时&#xff0c;令人困惑的是&#xff0c;这个函数返回正确的^{cd4>}数字(而不是inf)。这是我的python代码…

ASP.NET学习路线图

转自&#xff1a;http://www.cnblogs.com/huangmeimujin/archive/2011/08/08/2131242.html 如果你已经有较多的面向对象开发经验&#xff0c;跳过以下这两步&#xff1a; 第一步 掌握一门.NET面向对象语言&#xff0c;C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的…

centos 多个mysql数据库_CentOS6.5 一台服务器同时安装多个Mysql数据库

建用户与组groupadd mysqluseradd -g mysql mysql下载源码&#xff1a;wget https://downloads.mariadb.org/interstitial/mariadb-10.1.10/source/mariadb-10.1.10.tar.gztar -xvf mariadb-10.1.10.tar.gz1、编译&#xff1a;cmake . -DCMAKE_INSTALL_PREFIX/var/lib/mysql33…

MVC3学习 一 ViewBag和Html.Raw

ViewBag类似于JavaScript的语法&#xff0c;在赋值时动态赋值&#xff0c;比如ViewBag.Dog“哈哈” &#xff0c;这样就会创建一个ViewBag.Dog的对象&#xff0c;供前端页面调用。 在调用时&#xff0c;前台页面用razor方式&#xff0c;ViewBag 直接使用。 public class HomeCo…

PHPCMS源码分析(二)

index.php中引入了phpcms框架的入口文件&#xff0c;下面我们看下这个入口文件 /phpcms/base.php define(IN_PHPCMS, true);//防止恶意调用//PHPCMS框架路径 define(PC_PATH, dirname(__FILE__).DIRECTORY_SEPARATOR); //重新定义网站根目录 if(!defined(PHPCMS_PATH)…

mysql 5.6密钥_MySQL的密钥文件不正确

我遇到了InnoDB的问题(表是最初的MyISAM,但是之前将它转换为InndoB)表;我正在尝试运行此查询&#xff1a;SELECTposts.id,posts.post_titleFROMrss_posts AS postsINNER JOIN rss_feeds AS feeds ON posts.blog_idfeeds.idWHEREfeeds.blog_language1ORDER BYposts.post_date_db…

JS-取出字符串中重复次数最多的字符并输出

/**取出字符串中重复字数最多的字符 */ var words sdfghjkfastgbyhnvdstyaujskgfdfhlaa;      //创建字符串 var word,                          //单个字符length;                          //该字符的长度 //…

windows下查看静态库和动态库的导出函数

在window下查看动态库的导出函数可以用vs自带的Depends工具&#xff1b; 查看静态库的信息要用命令行来实现&#xff1a; dumpbin /LINKERMEMBER Test.lib > 1.txt 上面的功能是将静态库的信息导出保存在1.txt文件中&#xff0c;这样就可以在1.txt文件中查看相关的信…

linux ll 文件大小单位_该如何改善 Linux 系统性能?

系统性能一直是一个受关注的话题&#xff0c;如何通过最简单的设置来实现最有效的性能调优&#xff0c;如何在有限资源的条件下保证程序的运作&#xff0c;ulimit 是我们在处理这些问题时&#xff0c;经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能&#xff0c;它…

深入Javascript中apply、call、bind

最近在看一下node package的源码&#xff0c;发现很多里面都包含了function这个对象的apply、call、bind这三个方法&#xff0c;于是想拿出来再看看。。 apply、call 在 javascript 中&#xff0c;call 和 apply 都是为了改变某个函数运行时的上下文&#xff08;context&#x…

优秀案例!教您如何设计现代简约风格网页

我们看到越来越多的设计师开始拥抱简约的网站设计方法&#xff0c;消除网站不必要的元素&#xff0c;保留真正重要的内容&#xff0c;干净、直观的设计&#xff0c;就像今天的我们将展示的这些网站。 下面是一组不同风格的简约设计的网站例子&#xff0c;美丽的导航、整洁的菜单…

怎么清理mysql的死链接_什么是死链接?如何正确处理死链接

什么是死链接&#xff1f;我们应该如何正确处理死链接呢&#xff1f;小刚SEO为你解答。什么是死链接&#xff1f;因链接更改或搜索引擎所收录的网站路径被删除了&#xff0c;形成没法打开的死链接。死链接的危害&#xff1a;1.死链数据过多时&#xff0c;对网站访问体验和用户转…

数据分页和使用存储过程的数据分页

--使用存储过程的数据分页 --pageSize 一页有多少条 --pageIndex 第几页 --totalCount 总共有多少条 --分页的第一种方法 select top(10) * from Ams_Area where ar_id not in ( Select top(0) ar_id from Ams_Area order by ar_id ) order by ar_id --分页的第二种方…

mysql generaton_Mysql 集成随机唯一id mysql unique number generation

一句代码&#xff1a;SELECT FLOOR(10000 RAND() * 89999) AS random_numberFROM table1WHERE "random_number" NOT IN (SELECT unique_id FROM table2)LIMIT 1随机生成5位数字&#xff0c;并且不重复。上面的代码真是给人无限的联想力。例如&#xff1a;function g…

NavMeshAgent 动态加载障碍物

如果你想让游戏人物绕开一些物体, 这些物体动态生成出来的.只需要给物体添加NavMeshObstacle组件即可 1. 绿色方块添加NavMeshObstacle组件 2. 红色方块没有添加NavMeshObstacle组件,被小球穿透了%>_<% 转载于:https://www.cnblogs.com/plateFace/p/4385629.html