5005

移动字母

Problem Description

给定一个只包含小写字母的字符串s,高飞想将这个字符串中的所有的字母'x'全部移动到字符串的末尾,而且保证其它字符的相对顺序不变。

其中字符串s的长度<=1e6。

Sample Input

xa axaaa axbcxavxv

Sample Output

ax aaaax abcavvxxx

标程

#include <stdio.h>
#include <string.h>
#define N 1000005
char s[N], t[N];
int main() {
    while (~scanf("%s", s)) {
        int n = strlen(s), cnt = 0, j = 0;
        for (int i = 0; i < n; ++i)
            if (s[i] == 'x') ++cnt;
            else t[j++] = s[i];
        for (int i = 0; i < cnt; ++i) t[j++] = 'x';
        t[j] = 0;
        puts(t);
    }
    return 0;
}

5006

高飞听音乐

Problem Description

高飞大佬很喜欢音乐。
他能同时分辨出三种不同的音乐。恰巧,一座城市中有三处同时有交响音乐会(音源响度相同)。但是高飞大佬每一场都不想错过,于是他想寻找一个地点,使得三处音乐会声音的响度相同,这样他就可以同时欣赏三场音乐会啦!
(注:假设声音传播过程中不会受障碍物作用,声音传播满足平方反比定律)

Input

多组输入。

每组一行:每行6个整数,表示三个点分别的x坐标和y坐标。题目满足三点不共线。 (1 ≤ x,y ≤ 114514)

Output

共一行:两个实数(x坐标和y坐标),表示高飞大佬欣赏音乐会的地点(保留三位小数)

Sample Input

0 0 1 3 4 2

Sample Output

2.000 1.000

标程

#include <stdio.h>
int main() {
    double x1, y1, x2, y2, x3, y3, x, y;
    while (~scanf("%lf%lf%lf%lf%lf%lf", &x1, &y1, &x2, &y2, &x3, &y3)) {
        x = ((y2 - y1) * (y3 * y3 - y1 * y1 + x3 * x3 - x1 * x1) -
             (y3 - y1) * (y2 * y2 - y1 * y1 + x2 * x2 - x1 * x1)) /
            (2.0 * ((x3 - x1) * (y2 - y1) - (x2 - x1) * (y3 - y1)));
        y = ((x2 - x1) * (x3 * x3 - x1 * x1 + y3 * y3 - y1 * y1) -
             (x3 - x1) * (x2 * x2 - x1 * x1 + y2 * y2 - y1 * y1)) /
            (2.0 * ((y3 - y1) * (x2 - x1) - (y2 - y1) * (x3 - x1)));
        printf("%.3f %.3f\n", x, y);
    }
    return 0;
}

图片说明

https://blog.csdn.net/leo_888/article/details/81427959

5007

摔跤时刻

Problem Description

朝阳、高飞、千言和折纸大佬想要去参加DDF比赛,这个比赛需要两人一队组队参加,他们不知道怎么分组。

已知他们的 DDF 分数分别为 a, b, c, d,现在想要把他们两两分为一队,使得他们的实力比较平均,也就是两队的实力差尽量小。

这里定义两队的实力差为每队的 DDF 分数之和的差值,现在他们想要知道这个实力差最小是多少。

Input

仅一行,包含四个整数 a, b, c, d (1 ≤ a,b,c,d ≤ 114514),中间以空格分隔,分别表示四个人的 DDF 分数。

Output

在一行输出一个整数,表示两个队伍实力差的最小值。

Sample Input

2 1 3 4

Sample Output

0

标程

#include <math.h>
#include <stdio.h>
void InsertSort(int a[], int n) {
    for (int i = 1, j; i < n; ++i) {
        int tmp = a[i];
        for (j = i; j > 0 && a[j - 1] > tmp; --j) a[j] = a[j - 1];
        a[j] = tmp;
    }
}
int main() {
    int a[5];
    while (~scanf("%d%d%d%d", &a[0], &a[1], &a[2], &a[3])) {
        InsertSort(a, 4);
        printf("%d\n", abs(a[0] + a[3] - a[2] - a[1]));
    }
    return 0;
}

5008

游戏时间

Problem Description

高飞和白苒在玩一个游戏: 筐里有 2n-1 个球,每个球上有一个数字,分别是:2,3,4...2n。 裁判Bernard会在游戏开始时拿走一个球。 高飞和白苒都很聪明,都会采取最优策略。 首先白苒拿走一个球,高飞拿走一个球,再白苒拿,再高飞拿...直到只剩下两个球。 如果这两个球上的数字互质,那么高飞胜,否则白苒胜。 问Bernard有多少种拿走球的方案,使得白苒必胜。

Input

一行一个整数n (2≤n≤10^18) 。

多组输入。

Output

一行一个整数表示答案

Sample Input

2

Sample Output

1

标程

#include <stdio.h>
int main() {
    long long n;
    while (~scanf("%lld", &n)) printf("%lld\n", n - 1);
    return 0;
}

5009

打表可过!

Problem Description

151是一个很特殊的数字,它不止从左到右和从右到左是看一样的,更重要的它还是一个质数。

于是它成功吸引了高飞学长的目光,现在高飞学长想要找到某一个范围内的所有类似的数字。你可以帮他吗?

Input

2个整数: a和b (1≤a<b≤100,000,000)

多组输入。

Output

输出一个满足高飞学长要求数的列表,一行一个数。

Sample Input

5 500

Sample Output

5
7
11
101
131
151
181
191
313
353
373
383

标程

#include <stdio.h>
int a[] = {
    2,       3,       5,       7,       11,      101,     131,     151,
    181,     191,     313,     353,     373,     383,     727,     757,
    787,     797,     919,     929,     10301,   10501,   10601,   11311,
    11411,   12421,   12721,   12821,   13331,   13831,   13931,   14341,
    14741,   15451,   15551,   16061,   16361,   16561,   16661,   17471,
    17971,   18181,   18481,   19391,   19891,   19991,   30103,   30203,
    30403,   30703,   30803,   31013,   31513,   32323,   32423,   33533,
    34543,   34843,   35053,   35153,   35353,   35753,   36263,   36563,
    37273,   37573,   38083,   38183,   38783,   39293,   70207,   70507,
    70607,   71317,   71917,   72227,   72727,   73037,   73237,   73637,
    74047,   74747,   75557,   76367,   76667,   77377,   77477,   77977,
    78487,   78787,   78887,   79397,   79697,   79997,   90709,   91019,
    93139,   93239,   93739,   94049,   94349,   94649,   94849,   94949,
    95959,   96269,   96469,   96769,   97379,   97579,   97879,   98389,
    98689,   1003001, 1008001, 1022201, 1028201, 1035301, 1043401, 1055501,
    1062601, 1065601, 1074701, 1082801, 1085801, 1092901, 1093901, 1114111,
    1117111, 1120211, 1123211, 1126211, 1129211, 1134311, 1145411, 1150511,
    1153511, 1160611, 1163611, 1175711, 1177711, 1178711, 1180811, 1183811,
    1186811, 1190911, 1193911, 1196911, 1201021, 1208021, 1212121, 1215121,
    1218121, 1221221, 1235321, 1242421, 1243421, 1245421, 1250521, 1253521,
    1257521, 1262621, 1268621, 1273721, 1276721, 1278721, 1280821, 1281821,
    1286821, 1287821, 1300031, 1303031, 1311131, 1317131, 1327231, 1328231,
    1333331, 1335331, 1338331, 1343431, 1360631, 1362631, 1363631, 1371731,
    1374731, 1390931, 1407041, 1409041, 1411141, 1412141, 1422241, 1437341,
    1444441, 1447441, 1452541, 1456541, 1461641, 1463641, 1464641, 1469641,
    1486841, 1489841, 1490941, 1496941, 1508051, 1513151, 1520251, 1532351,
    1535351, 1542451, 1548451, 1550551, 1551551, 1556551, 1557551, 1565651,
    1572751, 1579751, 1580851, 1583851, 1589851, 1594951, 1597951, 1598951,
    1600061, 1609061, 1611161, 1616161, 1628261, 1630361, 1633361, 1640461,
    1643461, 1646461, 1654561, 1657561, 1658561, 1660661, 1670761, 1684861,
    1685861, 1688861, 1695961, 1703071, 1707071, 1712171, 1714171, 1730371,
    1734371, 1737371, 1748471, 1755571, 1761671, 1764671, 1777771, 1793971,
    1802081, 1805081, 1820281, 1823281, 1824281, 1826281, 1829281, 1831381,
    1832381, 1842481, 1851581, 1853581, 1856581, 1865681, 1876781, 1878781,
    1879781, 1880881, 1881881, 1883881, 1884881, 1895981, 1903091, 1908091,
    1909091, 1917191, 1924291, 1930391, 1936391, 1941491, 1951591, 1952591,
    1957591, 1958591, 1963691, 1968691, 1969691, 1970791, 1976791, 1981891,
    1982891, 1984891, 1987891, 1988891, 1993991, 1995991, 1998991, 3001003,
    3002003, 3007003, 3016103, 3026203, 3064603, 3065603, 3072703, 3073703,
    3075703, 3083803, 3089803, 3091903, 3095903, 3103013, 3106013, 3127213,
    3135313, 3140413, 3155513, 3158513, 3160613, 3166613, 3181813, 3187813,
    3193913, 3196913, 3198913, 3211123, 3212123, 3218123, 3222223, 3223223,
    3228223, 3233323, 3236323, 3241423, 3245423, 3252523, 3256523, 3258523,
    3260623, 3267623, 3272723, 3283823, 3285823, 3286823, 3288823, 3291923,
    3293923, 3304033, 3305033, 3307033, 3310133, 3315133, 3319133, 3321233,
    3329233, 3331333, 3337333, 3343433, 3353533, 3362633, 3364633, 3365633,
    3368633, 3380833, 3391933, 3392933, 3400043, 3411143, 3417143, 3424243,
    3425243, 3427243, 3439343, 3441443, 3443443, 3444443, 3447443, 3449443,
    3452543, 3460643, 3466643, 3470743, 3479743, 3485843, 3487843, 3503053,
    3515153, 3517153, 3528253, 3541453, 3553553, 3558553, 3563653, 3569653,
    3586853, 3589853, 3590953, 3591953, 3594953, 3601063, 3607063, 3618163,
    3621263, 3627263, 3635363, 3643463, 3646463, 3670763, 3673763, 3680863,
    3689863, 3698963, 3708073, 3709073, 3716173, 3717173, 3721273, 3722273,
    3728273, 3732373, 3743473, 3746473, 3762673, 3763673, 3765673, 3768673,
    3769673, 3773773, 3774773, 3781873, 3784873, 3792973, 3793973, 3799973,
    3804083, 3806083, 3812183, 3814183, 3826283, 3829283, 3836383, 3842483,
    3853583, 3858583, 3863683, 3864683, 3867683, 3869683, 3871783, 3878783,
    3893983, 3899983, 3913193, 3916193, 3918193, 3924293, 3927293, 3931393,
    3938393, 3942493, 3946493, 3948493, 3964693, 3970793, 3983893, 3991993,
    3994993, 3997993, 3998993, 7014107, 7035307, 7036307, 7041407, 7046407,
    7057507, 7065607, 7069607, 7073707, 7079707, 7082807, 7084807, 7087807,
    7093907, 7096907, 7100017, 7114117, 7115117, 7118117, 7129217, 7134317,
    7136317, 7141417, 7145417, 7155517, 7156517, 7158517, 7159517, 7177717,
    7190917, 7194917, 7215127, 7226227, 7246427, 7249427, 7250527, 7256527,
    7257527, 7261627, 7267627, 7276727, 7278727, 7291927, 7300037, 7302037,
    7310137, 7314137, 7324237, 7327237, 7347437, 7352537, 7354537, 7362637,
    7365637, 7381837, 7388837, 7392937, 7401047, 7403047, 7409047, 7415147,
    7434347, 7436347, 7439347, 7452547, 7461647, 7466647, 7472747, 7475747,
    7485847, 7486847, 7489847, 7493947, 7507057, 7508057, 7518157, 7519157,
    7521257, 7527257, 7540457, 7562657, 7564657, 7576757, 7586857, 7592957,
    7594957, 7600067, 7611167, 7619167, 7622267, 7630367, 7632367, 7644467,
    7654567, 7662667, 7665667, 7666667, 7668667, 7669667, 7674767, 7681867,
    7690967, 7693967, 7696967, 7715177, 7718177, 7722277, 7729277, 7733377,
    7742477, 7747477, 7750577, 7758577, 7764677, 7772777, 7774777, 7778777,
    7782877, 7783877, 7791977, 7794977, 7807087, 7819187, 7820287, 7821287,
    7831387, 7832387, 7838387, 7843487, 7850587, 7856587, 7865687, 7867687,
    7868687, 7873787, 7884887, 7891987, 7897987, 7913197, 7916197, 7930397,
    7933397, 7935397, 7938397, 7941497, 7943497, 7949497, 7957597, 7958597,
    7960697, 7977797, 7984897, 7985897, 7987897, 7996997, 9002009, 9015109,
    9024209, 9037309, 9042409, 9043409, 9045409, 9046409, 9049409, 9067609,
    9073709, 9076709, 9078709, 9091909, 9095909, 9103019, 9109019, 9110119,
    9127219, 9128219, 9136319, 9149419, 9169619, 9173719, 9174719, 9179719,
    9185819, 9196919, 9199919, 9200029, 9209029, 9212129, 9217129, 9222229,
    9223229, 9230329, 9231329, 9255529, 9269629, 9271729, 9277729, 9280829,
    9286829, 9289829, 9318139, 9320239, 9324239, 9329239, 9332339, 9338339,
    9351539, 9357539, 9375739, 9384839, 9397939, 9400049, 9414149, 9419149,
    9433349, 9439349, 9440449, 9446449, 9451549, 9470749, 9477749, 9492949,
    9493949, 9495949, 9504059, 9514159, 9526259, 9529259, 9547459, 9556559,
    9558559, 9561659, 9577759, 9583859, 9585859, 9586859, 9601069, 9602069,
    9604069, 9610169, 9620269, 9624269, 9626269, 9632369, 9634369, 9645469,
    9650569, 9657569, 9670769, 9686869, 9700079, 9709079, 9711179, 9714179,
    9724279, 9727279, 9732379, 9733379, 9743479, 9749479, 9752579, 9754579,
    9758579, 9762679, 9770779, 9776779, 9779779, 9781879, 9782879, 9787879,
    9788879, 9795979, 9801089, 9807089, 9809089, 9817189, 9818189, 9820289,
    9822289, 9836389, 9837389, 9845489, 9852589, 9871789, 9888889, 9889889,
    9896989, 9902099, 9907099, 9908099, 9916199, 9918199, 9919199, 9921299,
    9923299, 9926299, 9927299, 9931399, 9932399, 9935399, 9938399, 9957599,
    9965699, 9978799, 9980899, 9981899, 9989899};

int main() {
    int L, R;
    while (~scanf("%d%d", &L, &R)) 
        for (int i = 0; i <= 780 && a[i] <= R; i++) 
            if (a[i] >= L) printf("%d\n", a[i]);
    return 0;
}