再次作死的打了一次cf的修仙比赛感觉有点迷。。
还好掉的分不多(原本就太低没法掉了QAQ)
把会做的前三道水题记录在这。。
A:
emmmm...直接暴力枚举
code:
//By Menteur_Hxy#include #include #include #include using namespace std;int n,ans;char ch[100];bool jud(int l,int len) { int r=l+len-1; for(int i=0;i<(len>>1);i++) if(ch[l+i]!=ch[r-i]) return 1; return 0;}bool check(int len) { for(int i=1;i+len-1<=n;i++) if(jud(i,len)) return 1; return 0;}int main() { scanf("%s",ch+1); n=strlen(ch+1); for(int i=n;i>1;i--) { if(check(i)) {ans=i;break;} } if(!ans) printf("0"); else printf("%d",ans); return 0;}
B:
用map直接上记下每个元素的最大值最后加起来
code:
//By Menteur_Hxy#include #include #include #include #include
C:
题面略迷。。
大概意思是找到一种方式 分配他所给你的一些边 使组成一些简单路径要求每两条简单路径都有一个公共点
保证给出的边组成一棵树,输出路径数和每条路径的起点和终点 (顺序无所谓)这么水的题 题面就让我看了半天QAQ
显然考虑只有一个公共点,记录每个点连着几条边然后分情况:
1.如果有两个点连着超过两条边说明无法完成
2.如果仅有一个点连边超过两条 答案为以它为端点的所有简单路径
3.如果无连边超过两条的那么只有一条简单路径 且两个只连一条边的点为两端点
code: (略暴力)
//By Menteur_Hxy#include #include #include #include #include
后面回头再说吧(不会做QAQ)
版权声明:本文为原创文章,未经博主允许不得转载。