cf2

CF2

喜欢而已 提交于 2020-01-21 23:32:20
热烈庆祝我马力大进步能调出计算几何了…… A A 阅读理解+ \(map\) #include<bits/stdc++.h> using namespace std; namespace red{ #define y1 qwq #define int long long #define eps (1e-6) inline int read() { int x=0;char ch,f=1; for(ch=getchar();(ch<'0'||ch>'9')&&ch!='-';ch=getchar()); if(ch=='-') f=0,ch=getchar(); while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();} return f?x:-x; } int n,maxn,tot,x[1010]; string win,s[1010]; map<string,int> q,q1; inline void main() { n=read(); for(int i=1;i<=n;++i) { cin>>s[i]>>x[i]; q[s[i]]+=x[i]; } for(int i=1;i<=n;++i) { if(q[s[i]]==maxn) ++tot; if(q[s[i]]>maxn) maxn=q[s[i]],tot

蓝桥杯 两点(cf2)

☆樱花仙子☆ 提交于 2020-01-17 08:19:23
福克斯在玩一款手机解迷游戏,这个游戏叫做"两点"。基础级别的时候是在一个 n×mn×m 单元上玩的。像这样: 每一个单元有包含一个有色点。我们将用不同的大写字母来表示不同的颜色。 这个游戏的关键是要找出一个包含同一颜色的环。看上图中 44 个蓝点,形成了一个环。一般的,我们将一个序列 d1,d2,...,dkd1,d2,...,dk 看成一个环,当且仅当它符合下列条件时: 1. 这 kk 个点不一样,即当 i≠ji≠j 时,didi 和 djdj 不同。 2. kk 至少是 44。 3. 所有的点是同一种颜色。 4. 对于所有的 1≤i≤k−11≤i≤k−1: didi 和 di+1di+1 是相邻的。还有 dkdk 和 d1d1 也应该相邻。单元 xx 和单元 yy 是相邻的当且仅当他们有公共边。 当给出一幅格点时,请确定里面是否有环。 Input 单组测试数据。 第一行包含两个整数 nn 和 mm (2≤n,m≤50)(2≤n,m≤50): 板子的行和列。 接下来 nn 行,每行包含一个有 mm 个字母的串,表示当前行每一个点的颜色。每一个字母都是大写字母。 Output 如果有环输出 Yes,否则输出 No。 input 3 4 AAAA ABCA AADA output No 思路: 从某个点开始,每走过一个点标记为1,如果能再次走回起始点,并且途中经过的点数大于等于4