郑州轻工业学院第八届玲珑杯校赛题解
Description
蛤玮最近学习了关于ip的知识,于是他迫不及待的想把新知识传授给她的妹子.蛤玮的妹子随便写下了一个字符串,蛤玮现在要告诉她这个字符串是不是一个合法的ip地址.
为简单考虑,仅考虑ipv4的情况,即合法ip为形同"a1.a2.a3.a4",且0<=ai<=255。
Input
第一行为一个整数T(1<=T<=20),代表数据组数。接下来T行每行一个字符串,其中不包含空格,Tab以及回车,长度不超过50。
Output
若合法,输出"Yes",否则输出"No"(不包含引号)。
Sample Input
210.105.240.51f.a.t.e
Sample Output
YesNo
HINT
我们认为010.105.240.051是合法的。
此题需要考虑的情况有连续出现两个..的情况、首尾都是..的情况、两点之间出现非数字的情况(也有可能不是字母是其他的字符)、两点之间数字个数大于3的情况、小数点的个数不等于3的情况,如此应该就好了,如果还有我没考虑的情况请联系我……
如下代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<ctype.h>
using namespace std;int main(){int t;while(scanf("%d", &t)!=EOF){while(t--){string str;bool flag=true;int sum=0,node=0,p=0,i;cin>>str;int len=str.size();if(str[0]=='.' || str[len-1]=='.') {puts("No");continue;}for(i=0; i<len; ++i){if(str[i]!='.' && !isdigit(str[i])/*!(str[i]>='0'&&str[i]<='9')*/){flag=false;break;}if(str[i] == '.' && str[i+1] == '.'){flag=false;break;}if(str[i]=='.'){sum=node=0;p++;//判断小数点个数 }else if(str[i]!='.' && isdigit(str[i])/*str[i]>='0'&&str[i]<='9'*/ ){++node;//判断数字个数 sum=sum*10+(str[i]-'0');}if(sum<0 ||sum>255||node>3){flag=false;break;} }if(flag && p==3 && i==len)puts("Yes");elseputs("No");}}return 0;
}
Description
蛤玮的妹子过生日,蛤玮把千辛万苦挑选出来的礼物送到了妹子面前,然而妹子非常生气,因为妹子要的是化妆套装,而蛤玮买了一套水彩铅笔,更可气的是这些铅笔像是二手的,因为他们不是一样长!
为了惩罚蛤玮,妹子说"我有强迫症,受不了这些铅笔不一样长,你快去搞定它!不然就买化妆套给我!".
还好,这些铅笔的长度都是整数,蛤玮灵机一动,可以把些铅笔掰断使得它们可以一样长,当然要保证铅笔尽可能的长。 那么当这些铅笔最终一样长的时候,一共有多少支铅笔?
Input
T(1<=T<=100),表示数据组数.
每组数据第一行一个整数n(1<=n<=100),表示蛤玮买来的铅笔个数,接下来一行n个整数,表示n个铅笔的长度.保证长度都为正整数且小于1e7.
Output
每组数据输出一行,表示最终的铅笔个数.
Sample Input
2
2
2 3
3
4 6 14
Sample Output
5
12
HINT
对于第一个输入,最终掰成了5个长度为1的铅笔,第二个输入,最终掰成了12个长度为2的铅笔。
#include<iostream>
#include<cstdio>
using namespace std;int GCD(int x, int y)
{ int t;while(y > 0) {t = x % y;x = y;y = t;}return x;
}int main(){int t;int a[105];int n;scanf("%d", &n);while(n--)while(scanf("%d",&t)==1){int s=0,gcd;for(int i=0; i<t; ++i){scanf("%d", &a[i]);s+=a[i];}if(t==1)printf("%d\n", t);else{gcd=GCD(a[0],a[1]);for(int i=2; i<t; ++i){gcd=GCD(gcd, a[i]);}printf("%d\n",s/gcd);}}
return 0;
}
Description
蛤玮成为了实验室主任,现在学校要求他建好一个机房里的通信网络.这个网络中有n台主机,现在已知建设好了m条线路,可以让一些主机直接或间接通信,为了使这n台主机互相之间都可以直接或间接通信,请问蛤玮最少还需建设多少条线路。
间接通信指:若A,B可以直接通信,B,C可以直接通信,则A,C可以间接通信,同理若C,D可以直接通信,A,D也可以间接通信。
Input
输入第一行为一个整数T(1<=T<=10),代表数据组数。对于每组数据,第一行为两个整数n(1<=n<=100),m(1<=m<=n*n),接下来m行每行两个整数u,v(1<=u,v<=n),表示主机u,v之间已建立线路。
Output
对于每组数据,输出一个整数,表示还需建设的线路数。
Sample Input
13 31 12 11 2
Sample Output
1
用并查集做,记录合并完之后还剩几个没有合并的路线然后减一就好了。
#include<iostream>
#include<cstdio>
#include<cstring>
#define M 1000+5
using namespace std;int root[M],sz[M];
int count;int find(int p){while(p!=root[p]){root[p]=root[root[p]];/*路径压缩,会破坏掉当前节点的父节点的尺寸信息,因为压缩后,当前节点的父节点已经变了 */ p=root[p];}return p;
}void merge(int p, int q){int pRoot=find(p);int qRoot=find(q);if(pRoot == qRoot ) return ;if(sz[pRoot]<sz[qRoot]){// 按秩进行合并,将子树小的挂在子树大的上边 root[pRoot]=qRoot;sz[qRoot]+=sz[pRoot];}else{root[qRoot]=pRoot;sz[pRoot]+=sz[qRoot];}--count; // 每次合并之后,树的数量减1
}int main(){int t;scanf("%d",&t);while(t--){int n;scanf("%d%d", &count, &n);for(int i=1; i<=count; ++i){root[i]=i;sz[i]=1;}for(int i=0; i<n; ++i){int a,b;scanf("%d%d", &a, &b);merge(a, b);}printf("%d\n",count-1);}return 0;
}
郑州轻工业学院第八届玲珑杯校赛题解相关推荐
- 大连海事大学ACM校赛题解
大连海事大学ACM校赛题解 感谢xzx对题目的排版~ 作为出题人之一,我先简单说一下我认为的题目难度. 我觉着第一档比较容易的签到题是L.J.M,L就是向下取整的签到:J是简单思维.构造题,到了6以后 ...
- zju 2007校赛题解
发信人: kelefe (~_~), 信区: ACMICPC标 题: [zz from freecity]zju校赛题解发信站: 逸仙时空 Yat-sen Channel (Wed Apr 18 18 ...
- 2019xupt-acm校赛 题解(C.给你一个666)by出题组tongtong
重现赛链接 2019 ACM ICPC Xi'an University of Posts & Telecommunications School Contest 前面的话 有幸参与2019X ...
- 2019xupt-acm校赛 题解 ( F.猜球球 ) by出题组tongtong
重现赛链接 2019 ACM ICPC Xi'an University of Posts & Telecommunications School Contest 前面的话 有幸参与2019X ...
- [置顶]2010年东北大学ACM程序设计竞赛冬季校赛题解
8题只做出4题比较easy的题,而且做得挺麻烦,看来还要多练练. AC的题如下 NEUOJ 1112 I Love Apple Description So many people love app ...
- CTF-NEFU校赛-题解
Write by NEFUNSI: ghosin 0ERROR 签到 signin 下载 signin.txt 打开得到一串 base64,解码得到 flag{we1come_t0_NEFUCTF!} ...
- 第八届ACM校赛-魔戒
Problem Description 蓝色空间号和万有引力号进入了四维水洼,发现了四维物体--魔戒. 这里我们把飞船和魔戒都抽象为四维空间中的一个点,分别标为 "S" 和 &qu ...
- 宁波工程学院2020新生校赛(重现赛)部分题解
文章目录 A 恭喜小梁成为了宝可梦训练家~ B 皮(A)卡(C)皮(M)~ C 杰尼杰尼 D 古代遗迹:字符王国 E 皮卡丘这么可爱,当然要..... G 遗迹逃亡 J 小梁的背包 L 小梁的道馆 A ...
- “玲珑杯”郑州轻工业学院第八届ACM程序设计大赛Problem G: 蛤玮点菜
Problem G: 蛤玮点菜 Time Limit: 2 Sec Memory Limit: 128 MB Submit: 320 Solved: 31 SubmitWeb Board Desc ...
最新文章
- Spark基础知识解答
- 《中国人工智能学会通讯》——11.72 结束语
- 对请求并发数做限制的通用RequestDecorator
- Laravel框架中的路由和控制器
- 使用jstree创建无限分级的树(ajax动态创建子节点)
- 需求分析师与产品经理的区别
- mysql确认半同步命令_怎么判断mysql是否是半同步复制
- “3D几何与视觉技术”全球在线研讨会第六期第七期
- 新生的 XInclude
- Docker使用Dockerfile构建镜像
- demo10 关于JS Tree Shaking
- 钉钉现身数博会:增长200% 年内要覆盖450万家企业组织
- 线性代数应用于计算机科学例子,Sagemath在线性代数教学中的应用
- Docker 详细文档
- 电力职称计算机英语成绩查询,职称考试成绩查询
- 程序化广告实战分享系列 - 程序化广告的前世今生及趋势(入门)
- Ubuntu查看并修改DNS
- 二手手机设备回收小程序开发
- 化工厂人员定位的实施,新导化工厂人员定位带来的效果
- idea2019版本有效激活码error问题
热门文章
- 大咖专访丨东吴证券段斌:探索零售经纪数字化转型之道,挖掘数据价值
- 喜报丨神策数据荣获“2021 年度金屏奖大屏应用创新奖”
- 四部门联合印发《常见类型移动互联网应用程序必要个人信息范围规定》
- 深度案例 | 微车:数据驱动价值,建立 1.3 亿车主的汽车生活平台
- 深度案例 | 3 大领域 7 大场景,消费金融中的行业数据实践(以合众投资集团为例)...
- oracle对象之存储函数
- JQeury form插件的ajaxForm方法和ajaxSubmit方法的区别
- 通过php extension使disable_function支持通配符
- Java Hibernate 二级缓存配置及缓存的统计策略
- 读CLR via C#总结(4) 值类型的装箱和拆箱