Codeforces Round #328(Div2)

CodeForces 592A

题意:在8*8棋盘里,有黑白棋,F1选手(W棋往上-->最后至目标点:第1行)先走,F2选手(B棋往下-->最后至目标点:第8行)其次。棋子数不一定相等,F1,F2中其中一个           棋子最先到达目标点对应方胜利。

思路:W,B棋子分别只能上、下,所以需知道:离第一行最近的W棋距离S1(并且这个W上方没有B),离第八行最近的B棋距离S2(这个B下方没有W)

胜利者为 S1<=S2?F1:F2

注意:S1==S2时 F1胜。

代码:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5
 6 char mp[10][10];
 7
 8 int main()
 9 {
10     for(int i=0;i<8;i++)
11         scanf("%s",mp[i]);
12     int minb=10,minw=10,fw,fb,flagb;
13     for(int i=0;i<8;i++)
14     {
15         fw=10;fb=10;flagb=0;
16         for(int j=0;j<8;j++)
17         {
18             if(mp[j][i]==‘W‘)
19             {
20                 if(flagb==0)
21                     fw=min(fw,j);
22                 else
23                     fb=10;
24             }
25             if(mp[j][i]==‘B‘)
26             {
27
28                 flagb=1;
29                 fb=min(8-j-1,fb);
30             }
31         }
32         minb=min(minb,fb);
33         minw=min(minw,fw);
34     }
35     if(minb>=minw)
36         printf("A\n");
37     else
38         printf("B\n");
39 }

CodeForces 592B

题意:有n个点,点至点连线,若有阻隔,不可跳过。求被分隔成了多少块。当n=5时,如图所示。

思路:找规律。第一个点至其他点会被分割成 n-2块。一次画每个点,分别记录相比前一个状态多出的块数。发现第一个点周围的两个点是n-3块。其余点为n-4块

所以有  f[n]=(n-2)+2*(n-3)+(n-3)*(n-4)  化简:f[n]=(n-2)^2

注意:不要爆int,用long long 或_int64 输出格式%I64d.

代码:

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5
 6 int main()
 7 {
 8     long long n;
 9     scanf("%I64d",&n);
10     printf("%I64d\n", (n-2)*(n-2));
11     return 0;
12 } 

时间: 2024-10-18 21:19:39

Codeforces Round #328(Div2)的相关文章

Codeforces Round #326(Div2)

CodeForces 588A 题意:Duff喜欢吃肉,想在接下来的n天,每天都有Ai斤肉吃,但每一天肉的单价Pi不定,肉 可以保存不过期,现已知n天每天肉的斤数Ai,以及单价Pi,为了使每天都             有想要的Ai斤肉吃,求最小花费.  思路:cost=Ai*min(pi)  1<=i<=n; 代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using

Codeforces Round #503(div2) 做题记录

前几天有点咕,马上题解会跟上~ A. 题意: 有n个楼,每个楼有h层,相邻两个楼在(a,b)之间有通道 k次询问,每次问(tA,fA)到(tB,fB)(t为楼的编号,f为楼层)的最短路 题解: 如果不在(a,b)层之间那先爬到离他最近的(a,b)层之间的楼层 然后通过通道直接走,先走到tB走到对应楼层 注意tA=tB时特判 1 #include<bits/stdc++.h> 2 #define ll long long 3 using namespace std; 4 int n,h,a,b,

CodeForces 360E Levko and Game(Codeforces Round #210 (Div. 1))

题意:有一些无向边m条权值是给定的k条权值在[l,r]区间可以由你来定,一个点s1 出发一个从s2出发  问s1 出发的能不能先打到f 思路:最短路. 首先检测能不能赢 在更新的时候  如果对于一条边 a->b  如果dis1[a] <dis2[a]  那么选择这条边就选择   l  因为这条边对于s1有利 如果两个起点都选择了这条边  则说明s1 赢定了,所以要让他们尽量走这条,所以边权越小越好.跑完之后检测 如果  dis1[f]<dis2[f] 那么 就赢了. 接下来判断能不能平局

Codeforces Round #615(Div.3)解题报告

Codeforces Round #615(Div.3)解题报告 A. Collecting Coins 注意\(n\)可能不够用的情况. #include<bits/stdc++.h> using namespace std; typedef long long ll; int a, b, c, n; void solve() { cin >> a >> b >> c >> n; int mx = max(max(a, b), c); int

Codeforces Round #FF(255) DIV2 C - DZY Loves Sequences

A - DZY Loves Hash 水题,开辟一个数组即可 #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; int main(){ int p,n; cin >> p >> n; vector<bool> buckets(302,false); bool flag = fal

cf386(div2)大一狗ACM之路

#cf386(div2)总结#前两题很顺利的做了出来, c题扔了, D题wrong了5发才A掉.A题签到题, 但是想多了, 代码写的有点长了. 找被整除最小值*7.B题 读题读了一会, 读完了就有思路了, 1A. 字符串问题, 从后往前两个两个的放到新的字符串里, 一个从最左, 一个从最右, 模拟指针扫着放, 最后特判会不会扫到一起.C题跳了没看, 最后做完了D题回来看了一眼没什么思路 日后再说.D题, 恩.. 两个多小时都用在这题上面了, 20分钟的时候做完了B之后就一直再啃D题, 暴力判断啊

hdu 4956 Poor Hanamichi BestCoder Round #5(数学题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4956 Poor Hanamichi Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7    Accepted Submission(s): 4 Problem Description Hanamichi is taking part in

Codeforces Round #433 (Div. 2)

题目链接:Codeforces Round #433 (Div. 2) codeforces 854 A. Fraction[水] 题意:已知分子与分母的和,求分子小于分母的 最大的最简分数. 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 int gcd(int a,int b){re

CF #262 (DIV2) C . Present (二分答案)

output standard output Little beaver is a beginner programmer, so informatics is his favorite subject. Soon his informatics teacher is going to have a birthday and the beaver has decided to prepare a present for her. He planted n flowers in a row on