Codeforces Round #347 (Div. 2)
unrating的一场CF
#include <bits/stdc++.h> const int N = 1e5 + 5;
char a[105], b[105]; bool equal() {
int lena = strlen (a);
int lenb = strlen (b);
if (lena != lenb) {
return false;
}
for (int i=0; i<lena; ++i) {
if (a[i] != b[i]) {
return false;
}
}
return true;
} int main() {
scanf ("%s%s", a, b);
if (equal ()) {
printf ("%s\n", a);
} else {
puts ("1");
} return 0;
}
贪心 B - Rebus
取最小最大,从最大调到n
#include <bits/stdc++.h> const int N = 1e3 + 5;
char str[N];
int n, x, y; int main() {
gets (str);
int len = strlen (str);
x = 1; y = 0;
for (int i=0; i<len; ++i) {
if (str[i] == '+') {
x++;
} else if (str[i] == '-') {
y++;
} else if (str[i] >= '0' && str[i] <= '9') {
n = n * 10 + (str[i] - '0');
}
}
int mx = x * n - y;
int mn = x - n * y;
if (n > mx || n < mn) {
puts ("Impossible");
} else {
int f = 0, sp = 0;
int xx = 0, yy = 0, now = mx;
while (now > n) {
if (now - n + 1 > n) {
now -= (n - 1);
if (xx < x) {
xx++;
} else {
yy++;
}
} else {
int d = now - n;
if (xx < x) {
f = -1;
sp = n - d;
} else {
f = 1;
sp = 1 + d;
}
break;
}
}
puts ("Possible");
for (int i=0; i<len; ++i) {
if (str[i] == '?') {
if (i == 0) {
if (f == -1) {
printf ("%d", sp);
f = 0;
} else if (xx > 0) {
printf ("1");
xx--;
} else {
printf ("%d", n);
}
} else {
if (str[i - 2] == '+') {
if (f == -1) {
printf ("%d", sp);
f = 0;
} else if (xx > 0) {
printf ("1");
xx--;
} else {
printf ("%d", n);
}
} else {
if (f == 1) {
printf ("%d", sp);
f = 0;
} else if (yy > 0) {
printf ("%d", n);
yy--;
} else {
printf ("1");
}
}
}
} else {
printf ("%c", str[i]);
}
}
puts ("");
} return 0;
}
头晕,看不懂题意
Consider the abbreviations that are given to the first Olympiads. The first 10 Olympiads (from year 1989 to year 1998) receive one-digit abbreviations (IAO'9, IAO'0, ..., IAO'8). The next 100 Olympiads (1999 - 2098) obtain two-digit abbreviations, because all one-digit abbreviations are already taken, but the last two digits of 100 consecutive integers are pairwise different. Similarly, the next 1000Olympiads get three-digit abbreviations and so on.
Now examine the inversed problem (extract the year from an abbreviation). Let the abbreviation have k digits, then we know that all Olympiads with abbreviations of lengths (k - 1), (k - 2), ..., 1 have passed before this one. The number of such Olympiads is10k - 1 + 10k - 2 + ... + 101 = F and the current Olympiad was one of the 10k of the following. Therefore this Olympiad was held in years between (1989 + F) and (1989 + F + 10k - 1). As this segment consists of exactly 10k consecutive natural numbers, it contains a single number with a k-digit suffix that matches the current abbreviation. It is also the corresponding year.
#include <bits/stdc++.h> char str[20]; int main() {
int n; scanf ("%d", &n);
for (int i=0; i<n; ++i) {
scanf ("%s", str);
int len = strlen (str + 4);
int year = atoi (str + 4);
int add = 0, tenpow = 10;
for (int j=1; j<len; ++j) {
add += tenpow;
tenpow *= 10;
}
while (year < 1989 + add) {
year += tenpow;
}
printf ("%d\n", year);
} return 0;
}
Codeforces Round #347 (Div. 2)的更多相关文章
- Codeforces Round #347 (Div. 2) C. International Olympiad 找规律
题目链接: http://codeforces.com/contest/664/problem/C 题解: 这题最关键的规律在于一位的有1989-1998(9-8),两位的有1999-2098(99- ...
- Codeforces Round #347 (Div. 2) B. Rebus
题目链接: http://codeforces.com/contest/664/problem/B 题意: 给你一个等式,把等式左边的问号用1到n(n为等式右边的数)的数填好,使得等式成立 题解: 贪 ...
- Codeforces Round #347 (Div.2)_B. Rebus
题目链接:http://codeforces.com/contest/664/problem/B B. Rebus time limit per test 1 second memory limit ...
- Codeforces Round #347 (Div.2)_A. Complicated GCD
题目链接:http://codeforces.com/contest/664/problem/A A. Complicated GCD time limit per test 1 second mem ...
- Codeforces Round #347 (Div. 2) (练习)
A: 题意:找到[a, b]的最大公约数: 思路:相同时为本身,不同时为1. 套路:碰到水题别想太多: 猜想:两个相邻数,必有一奇一偶,如果偶数有因子3或者其他,奇数可不可能有相同的呢? 枚举一些数后 ...
- codeforces Round #347 (Div. 2) C - International Olympiad
思路:从后往前一位一位的模拟,每次判断一下当前枚举的数是否之间枚举过了.或者当前枚举数过小,小于1989. #include<cstdio> #include<cstring> ...
- Codeforces Round #347 (Div. 2) A
Description Greatest common divisor GCD(a, b) of two positive integers a and b is equal to the bigge ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
随机推荐
- JSP题库
一. 填空题 一个完整的JSP页面是由普通的HTML标记.JSP指令标记.JSP动作标记. 变量声明 与方法声明 .程序片 .表达式 . 注释 7种要素构成. JSP页面的基本构 ...
- Mac 下 gradle 路径
/Users/yourname/.gradle/wrapper/dists cmd:cd ~/.gradle/wrapper/dists/
- 动手动脑之小程序:TryAndCatch
源代码 import java.util.InputMismatchException;import java.util.Scanner;public class TryAndCatch {publi ...
- 给UILabel设置不同的字体和颜色
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"Using NSAt ...
- php 分页
分页类 <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private ...
- Java Eclipse进行断点调试
如何调试Java程序? 大家最开始学习Java,都会觉得IDE调试好高端有木有,其实很简单了. 下文会尽量简单直观的教会你在Eclipse中调试,其他的IDE调试步骤也是类似的. 1.在你觉得有错的地 ...
- 【JAVA集合框架之工具类】
一.概述 JAVA集合框架中有两个很重要的工具类,一个是Collections,另一个是Arrays.分别封装了对集合的操作方法和对数组的操作方法,这些操作方法使得程序员的开发更加高效. public ...
- B树算法与实现 (C语言实现)
B树的定义 假设B树的度为t(t>=2),则B树满足如下要求:(参考算法导论) (1) 每个非根节点至少包含t-1个关键字,t个指向子节点的指针:至多包含2t-1个关键字,2t个指向子女的指针 ...
- 使用nbrbutil工具來處理requested media id is in use, cannot process request
首先我發現一個Media已經過期很久,但是并不會覆蓋重用 使用bpexpdate手動過期,失敗,讓他deassigned也不行 使用bpimmedia查看上面的image也沒有 我嘗試手動去過期,返回 ...
- ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statemen
转自:http://www.cnblogs.com/iosdev/archive/2013/07/15/3190431.html mysql 配置文件目录:/etc/my.cnf root 密码为空的 ...