记录洛谷刷题C语言qaq


[NOI Online 2021 入门组] 切蛋糕

题目描述

Alice、Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕。

三个人的需求量分别为 a,b,ca,b,ca,b,c,现在请你帮他们切蛋糕,规则如下:

  1. 每次切蛋糕可以选择蛋糕的任意一条直径,并沿这条直径切一刀(注意切完后不会立刻将蛋糕分成两部分)。

  2. 设你一共切了 nnn 刀,那么你将得到 2n2n2n 个扇形的蛋糕(特别地,切了 000 刀被认为是有一个扇形,即整个圆形蛋糕),将这些蛋糕分配给 Alice,Bob 和 Cindy,要求每个扇形蛋糕只能完整地分给一个人。

  3. 三人分到的蛋糕面积比需要为 a:b:ca:b:ca:b:c(不保证是最简比例,且如果 a:b:ca:b:ca:b:c 中某个数为 000,表示那个人不吃蛋糕)。

为了完成这个任务,你至少需要切几刀?

输入格式

本题单个测试点包含多组数据。

第一行包含一个整数 TTT,表示数据组数。

接下来 TTT 行,每行包含三个整数 a,b,ca,b,ca,b,c,表示三人的需求量。

输出格式

输出 TTT 行,第 iii 行的输出表示第 iii 组数据中你至少需要切蛋糕的次数。

样例 #1

样例输入 #1

6
0 0 8
0 5 3
9 9 0
6 2 4
1 7 4
5 8 5

样例输出 #1

0
2
1
2
3
2

提示

样例 111 解释

数据范围与提示

30%30\%30% 的数据满足:a=b=0a=b=0a=b=0。

60%60\%60% 的数据满足:a=0a=0a=0。

100%100\%100% 的数据满足:1≤T≤104,0≤a,b,c≤1081\le T\le 10^4,0\le a,b,c\le 10^81≤T≤104,0≤a,b,c≤108,保证 a+b+c>0a+b+c>0a+b+c>0。

数据由 SSerxhs 提供。

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>int main(){int t;scanf("%d",&t);while(t--){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a >  b){a = a + b;b = a - b;a = a - b;     }if(a > c){a = a + c;c = a - c;a = a - c;}if(b > c){c = c + b;b = c - b;c = c - b;}if(a==0&&b==0)printf("0\n");else if(a==0&&b==c)printf("1\n");else if(a==0&&b!=c)printf("2\n");else if(a+b==c)printf("2\n");else if(a==b||b==c||a==c)printf("2\n");elseprintf("3\n");}return 0;
}

「HMOI R1」概率

题目背景

“傻子才相信概率。”

题目描述

fz 退役之后正在学文化课。

fz 见到一个题,这个题是这样的:

给定区间 [a,b][a, b][a,b] 和 [c,d][c, d][c,d],求从其中各等概率选择一个整数,和等于 eee 的概率。

fz 本来想把 “等于 eee” 改成 “∈[e,f]\in [e,f]∈[e,f]”,但是这样他就会变成辣鸡分类讨论出题人,所以他决定不改。

为了方便,你只需输出答案乘 (b−a+1)(d−c+1)(b-a+1)(d-c+1)(b−a+1)(d−c+1) 的结果。可以证明这个数是一个整数。

输入格式

第一行一个整数 TTT,代表共有 TTT 组数据。

接下来 TTT 行,每行五个整数 a,b,c,d,ea, b, c, d, ea,b,c,d,e。

输出格式

共 TTT 行,每组数据一行一个自然数,表示对应的答案。

样例 #1

样例输入 #1

1
1 2 3 4 5

样例输出 #1

2

提示

样例解释:

对于样例的第一组数据,从 [1,2][1,2][1,2] 和 [3,4][3,4][3,4] 中各随机选出一个整数的方案共有 444 种,其中只有 {1,4}\{1,4\}{1,4} 和 {2,3}\{2,3\}{2,3} 两种方案和为 555,故概率为 12\dfrac1221​。


令 N=max⁡{∣a∣,∣b∣,∣c∣,∣d∣,∣e∣}N=\max\{|a|,|b|,|c|,|d|,|e|\}N=max{∣a∣,∣b∣,∣c∣,∣d∣,∣e∣}。

对于所有数据:

  • 1≤T≤10001 \le T \le 10001≤T≤1000;

  • 0≤N≤10180 \le N \le 10^{18}0≤N≤1018。


本题不采用捆绑测试。

No. Constraints Score
111 与样例相同 101010
222 N≤300N \le 300N≤300 101010
333 N≤5000N \le 5000N≤5000 303030
444 N≤109N \le 10^9N≤109 202020
555 No further constraints 303030

  • Idea: FZzzz
  • Solution: FZzzz
  • Code: FZzzz
  • Data: FZzzz

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>
long long max(long long a, long long b)
{if(a > b)return a;elsereturn b;
}long long min(long long a, long long b)
{if(a < b)return a;elsereturn b;
}int main(){long long n;scanf("%lld",&n);while(n--){long long a, b, c, d, e;scanf("%lld%lld%lld%lld%lld",&a,&b,&c,&d,&e);long long sum = max(min(e - a,d)-max(e - b, c) +1,0);printf("%lld\n",sum);}return 0;
}

[COCI2016-2017#4] Bridž

题目描述

Mirko 发明了一种卡牌游戏。卡牌只包含 A, K, Q, J\text{A, K, Q, J}A, K, Q, J 和 X\text{X}X。它们的分值分别为 4,3,2,1,04,3,2,1,04,3,2,1,0。

给定 NNN 个包含 131313 张卡牌的卡组,求这 NNN 个卡组中所有卡牌分值的总和。

输入格式

第一行,一个整数 NNN。

接下来的 NNN 行,每行一个长度为 131313 的字符串 KiK_iKi​。字符串只包含字符 A, K, Q, J, X\text{A, K, Q, J, X}A, K, Q, J, X。

输出格式

输出所有卡牌分值的总和。

样例 #1

样例输入 #1

1
AKXAKJXXXAXAQ

样例输出 #1

25

样例 #2

样例输入 #2

4
XXXAXXXXXXJXX
KXAXXXQJAXXXX
AQKQXXXKXXKQX
JXXXXXJXXXXXX

样例输出 #2

40

提示

【样例 1 解释】

卡牌类型 卡牌数量 每张卡牌分值 累计分值
A\text{A}A 444 444 4×4=164 \times 4=164×4=16
K\text{K}K 222 333 2×3=62 \times 3=62×3=6
Q\text{Q}Q 111 222 1×2=21 \times 2=21×2=2
J\text{J}J 111 111 1×1=11 \times 1=11×1=1
X\text{X}X 555 000 5×0=05 \times 0=05×0=0

因此分值总和为 16+6+2+1+0=2516+6+2+1+0=2516+6+2+1+0=25。

【数据规模与约定】

对于 100%100\%100% 的数据,1≤N≤1041 \le N \le 10^41≤N≤104。

【提示与说明】

题目译自 COCI 2016-2017 CONTEST #4 T1 Bridž

本题分值按 COCI 原题设置,满分 505050。

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>int main()
{int n;scanf("%d",&n);int ans = 0;while (n--){char s[10001];scanf("%s",&s);for (int i = 0; i < 13; i++){if (s[i] == 'A'){ans += 4;} else if (s[i] == 'K'){ans += 3;}else if (s[i] == 'Q'){ans += 2;} else if (s[i] == 'J'){ans += 1;}}}printf("%d\n",ans);return 0;
}

[COCI2009-2010#1] NOTE

题目描述

C 大调的音阶由 888 个音符组成:c,d,e,f,g,a,b,C\texttt{c,d,e,f,g,a,b,C}c,d,e,f,g,a,b,C。将每个音符用数字 111 到 888 编号。

音阶可以是升序的(从 111 到 888)、降序的(从 888 到 111),或者是混合的。

根据音符的顺序,确定音阶是升序的、降序的还是混合的。

输入格式

一行八个整数,包含 111 至 888 之间的所有整数。每个整数在输入中只会出现一次。

输出格式

如果音阶是降序的,输出 descending

如果音阶是升序的,输出 ascending

如果音阶是混合的,输出 mixed

样例 #1

样例输入 #1

1 2 3 4 5 6 7 8

样例输出 #1

ascending

样例 #2

样例输入 #2

8 7 6 5 4 3 2 1

样例输出 #2

descending

样例 #3

样例输入 #3

8 1 7 2 6 3 5 4

样例输出 #3

mixed

提示

【说明】

本题分值按 COCI 原题设置,满分 303030。

题目译自 COCI2009-2010 CONTEST #1 T1 NOTE

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>int a,b,c,d,e,f,g,h;
int main()
{scanf("%d%d%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g,&h);if(a<b&&b<c&&c<d&&d<e&&e<f&&f<g&&g<h) printf("ascending");//如果该序列为上升序列else if(b<a&&c<b&&d<c&&e<d&&f<e&&g<f&&h<g) printf("descending");//如果该序列为下降序列else printf("mixed");//如果都不是return 0;
}

[COCI2009-2010#1] DOMINO

题目描述

求所有满足 0≤x≤y≤N0 \le x \le y \le N0≤x≤y≤N 的非负整数对 (x,y)(x,y)(x,y) 中,∑x+∑y\sum{x} + \sum{y}∑x+∑y 是多少。

输入格式

一行一个整数 NNN,意义如题面所述。

输出格式

一行一个整数,表示 ∑x+∑y\sum{x} + \sum{y}∑x+∑y 的值。

样例 #1

样例输入 #1

2

样例输出 #1

12

样例 #2

样例输入 #2

3

样例输出 #2

30

样例 #3

样例输入 #3

15

样例输出 #3

2040

提示

【样例 2 解释】

满足要求的所有数对为:(0,0)(0,0)(0,0)、(0,1)(0,1)(0,1)、(0,2)(0,2)(0,2)、(0,3)(0,3)(0,3)、(1,1)(1,1)(1,1)、(1,2)(1,2)(1,2)、(1,3)(1,3)(1,3)、(2,2)(2,2)(2,2)、(2,3)(2,3)(2,3)、(3,3)。(3,3)。(3,3)。

【数据范围】

对于 100%100\%100% 的数据,1≤n≤1031 \le n \le 10^31≤n≤103。

【说明】

本题分值按 COCI 原题设置,满分 505050。

题目译自 COCI2009-2010 CONTEST #1 T2 DOMINO

代码如下:

#include<string.h>
#include<stdio.h>
#include<math.h>
#include <stdlib.h>int main()
{long long n,ans = 0;scanf("%lld",&n);for(long long i = 0;i <= n;i++){for(long long j = i;j <= n;j++){ans = i + j+ ans;}}printf("%lld\n",ans);return 0;
}

洛谷刷题C语言:切蛋糕、概率、Bridž、NOTE、DOMINO相关推荐

  1. 洛谷刷题C语言:潇湘の雨、分糖果、Addition、Ljeto、TRI

    记录洛谷刷题C语言QAQ 「PMOI-0」潇湘の雨 题目背景 (原 LZOI-1,改名已经 PMOI 成员同意) lhm-01 题目描述 言琢დ 在一个 2n×2n2n \times 2n2n×2n ...

  2. 洛谷刷题C语言:Bold、饱食、公平の意、DOM、

    记录洛谷刷题C语言qaq [COCI2020-2021#6] Bold 题目描述 Paula 给 Daniel 写了一封信,她需要加粗文本的字体,以便视力恶化的 Daniel 阅读. 信可以用 . 和 ...

  3. 洛谷刷题C语言:陶瓷项链、Cow Gymnastics B、Where Am I? B、Hello, 2020!、SIR 模型

    记录洛谷刷题C语言 一.[NOI2000] 瓷片项链 题目描述 原始部落用一种稀有的泥土烧制直径相同的圆瓷片并串成项链,串的时候沿瓷片的直径方向顺次连接,瓷片之间没有空隙也不重叠,一条项链至少由一个瓷 ...

  4. 洛谷刷题C语言:Physics Problem、PARKING、Trol、信息学竞赛、POT

    记录洛谷刷题C语言 「dWoi R1」Physics Problem 题目背景 面对白板上的物理题,王马陷入了沉思 -- 题目描述 有 nnn 个状态,编号为 111 到 nnn.这 nnn 个状态之 ...

  5. 洛谷刷题C语言:Fergusonball Ratings、Don‘t Mozheng. /oh、gcd.、幻想乡扑克游戏、PMTD

    记录洛谷刷题C语言qaq [CCC2022 J2] Fergusonball Ratings 题目描述 现在有一个球队需要你评价. 球队中的第 i i i 个人进了 a i a_i ai​ 个球,犯规 ...

  6. 洛谷刷题C语言:远古档案馆(Ancient Archive)、VOLIM、SAHOVNICA、Tuna、KRIŽALJKA

    记录洛谷刷题C语言qaq,都是些不优雅的代码 远古档案馆(Ancient Archive) 题目背景 为了揭开月光能量背后的秘密,你来到了地下的远古档案馆. 远古一族的秘密与遗忘的知识悉数贮藏于这片被 ...

  7. 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序

    记录洛谷刷题QAQ 一.[深基3.例3]闰年判断 题目描述 输入一个年份,判断这一年是否是闰年,如果是输出 111,否则输出 000. 输入格式 输入一个正整数 nnn,表示年份. 输出格式 输出一行 ...

  8. 洛谷刷题C语言:数字反转、再分肥皂水、三角形面积、Apples Prologue/苹果和虫子、数的性质

    记录洛谷刷题QAQ,一些不大优雅的代码 一.[深基2.例7]数字反转 题目描述 输入一个不小于 100100100 且小于 100010001000,同时包括小数点后一位的一个浮点数,例如 123.4 ...

  9. 洛谷刷题C语言:Even? Odd? G、The Robot Plow G、pb的游戏(1)、询问学号、cover

    记录洛谷刷题QAQ 一.[USACO09OCT]Even? Odd? G 题目描述 Bessie's cruel second grade teacher has assigned a list of ...

最新文章

  1. 51CTO专访清无:Nginx_lua的应用及性能对比
  2. USB转串口 FT232/PL2303/CH340 驱动以及使用体会
  3. 腾讯急招多名.NET Core,5年30k!
  4. 系统架构设计师考试 重要的部分
  5. 学习:重写hashCode()方法的必要性
  6. 删除sessionstorage_localStorage 和 sessionStorage 介绍
  7. laravel 分词搜索匹配度_elasticsearch基础笔记9-elasticsearch 词项全文搜索
  8. 天天向上续python3.3_Linux 配置系列 四 python3
  9. (二叉树的动态创建与bfs)树的层次遍历
  10. MySQL 性能优化--QueryCache的原理
  11. c语言log_Morn:一个极简的C语言日志
  12. 计算机辅助设计与制造专业课程,《计算机辅助设计与制造》课程实验指导书
  13. 2017年10月2日日志
  14. Unitest框架的使用(三)TestSkip和TestSuite方法
  15. 绿幕通通扔掉 ੧ᐛ੭ | 谷歌AI实时「抠」背景
  16. sqlite增删改查(一)及SqliteDev工具下载地址
  17. 精美的拟态个人主页源码
  18. aspectjweaver.jar 下载地址
  19. 基于关系推理的自监督学习无标记训练
  20. esp32触摸touch功能使用过程详述arduino

热门文章

  1. 【Container讲师专访】峰值交易额超30亿,看广发证券的Docker落地
  2. python wifi探针_什么是wifi探针??
  3. 大数据分析,足球运动的“料理师”
  4. 数学分析教程史济怀练习8.4
  5. 超级招聘会落地武汉,钉钉为何“不务正业”力推新校招?
  6. Microsoft Visual C + + 2017 X64 Minimum Runtime 无限弹框的解决方法
  7. 一次购买新电脑并加装内存(32G)的分享
  8. YTU 2559: “心脏出血”
  9. vue移动端轮播图适配宽高
  10. ipad触屏笔有必要买吗?苹果平板第三方触控笔推荐