自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 oj|最优贸易(难度:中)(3521)(绝对正确)

阿龙通过这样的贸易方式赚取旅费:他会选择一个经过的城市买入他最喜欢的商品——水晶球,并在之后经过的另一个城市卖出这个水晶球,用赚取的差价当做旅费。阿龙可以选择如下一条线路:1->2->3->5,并在2 号城市以3 的价格买入水晶球,在3号城市以5 的价格卖出水晶球,赚取的旅费数为2。阿龙也可以选择如下一条线路 1->4->5->4->5,并在第1 次到达5 号城市时以1 的价格买入水晶球,在第2 次到达4 号城市时以6 的价格卖出水晶球,赚取的旅费数为5。共1 行,包含1 个整数,表示最多能赚取的旅费。

2023-07-01 08:42:40 86 1

原创 oj|火柴棒等式2(4084)(绝对正确)

等式中的A、B、C是用火柴棒拼出的整数(若该数非零,则最高位不能是0)。如14根火柴能拼出的两个等式分别为: 0+1=1和1+0=1,根据第2点要求,视为相同只能算1个。(2)如果A≠B,则A+B=C与B+A=C视为相同的等式(A、B、C均大于或等于0)。给出n根火柴棒,可以拼出多少个形如“A+B=C”的等式?一行一个整数,表示能拼出的符合要求的不同等式的数量。一行一个整数n, 表示火柴的数量(n≤24)(1)加号与等号各自需要两根火柴棒。(3)n根火柴棒必须全部用上。

2023-06-03 10:42:24 216

原创 oj|木棒三角形个数(4089)(绝对正确)

输入一根木棒的长度n, 将该木棒分成三段,每段的长度为正整数,输出由该三段小木棒组成的不—样的三角形个数。输出由该三段小木棒组成的不—样的三角形个数。对于100%的数据:0≤n≤70000。对于60%的数据:0≤n≤40000。对于80%的数据:0≤n≤60000。一行一个整数n,表示木棒的长度。

2023-06-02 21:40:37 596

原创 oj|奶牛碑文2(4068)(绝对正确)

尽管阿短看不懂,但是令他高兴的是,C、O、W的顺序形式构成了一句他最喜欢的奶牛单词“COW”。如果COW内穿插了其他字符,只要COW字符出现在正确的顺序,阿短也不介意。甚至,他也不介意出现不同的COW共享一些字母。例如,CWOW出现了1次COW,CCOW算出现了2次COW,CCOOWW算出现了8次COW。第2行是N个字符的字符串,每个字符是一个C、O或W,不会是其他字符。输出COW作为输入字符串的字串出现的次数(不一定是连续的)。第1行是一个整数N,代码碑文的长度。对于100%的数据:N≤200000。

2023-06-02 21:22:43 268

原创 oj|公交换乘(4057)(绝对正确)

第 𝑖 行的第 1 个整数代表第 𝑖 条记录乘坐的交通工具,0 代表地铁,1 代表公交车;第三个整数代表第 𝑖 条记录开始乘车的时间 𝑡𝑖ti​ (距 0 时刻的分钟数)。1. 在搭乘一次地铁后可以获得一张优惠票,有效期为 45 分钟,在有效期内可以消耗这张优惠票,免费搭乘一次票价不超过地铁票价的公交车。如果有多张优惠票满足条件,则优先消耗获得最早的优惠票。2.搭乘地铁获得的优惠票可以累积,即可以连续搭乘若干次地铁后再连续使用优惠票搭乘公交车。输出有一行,包含一个正整数,代表小轩出行的总花费。

2023-05-15 19:27:57 62

原创 【无标题】

想知道oj的全部答案吗?来我主页,每天日更。

2023-05-03 09:16:20 21

原创 oj|最短网络Agri-Net(11161)(绝对正确)

他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场。约翰已经给他的农场安排了一条高速的网络线路,他想把这条线路共享给其他农场。为了用最小的消费,他想铺设最短的光纤去连接所有的农场。你将得到一份各农场之间连接费用的列表,你必须找出能连接所有农场并所用光纤最短的方案。后来的行包含了一个N*N的矩阵,表示每个农场之间的距离。理论上,他们是N行,每行由N个用空格分隔的数组成,实际上,他们限制在80个字符,因此,某些行会紧接着另一些行。只有一个输出,其中包含连接到每个农场的光纤的最小长度。

2023-05-03 09:14:03 103

原创 oj|有理数树(1338)(绝对正确)

接着他们一列一列地产生这棵树,当他们要产生第k+1列的时候,就先把前k列所有的分数按照大小排成一列(假设有n个),在这些数之间会有n - 1个间隔,那么第k + 1列就准备产生n - 1个数,其值的分子恰好是左右两个数的分子的和、分母是左右两个数的分母的和。从这棵树中,我们可以看出,每个正的最简分数在这棵树中恰好出现一次,我们用字母“L”和“R”分别表示从树根(1 / 1)开始的一步“往左走”和“往右走”,则每一个数都可以由L和R组成的序列表示。一行两个互素的正整数m和n(1 ≤ n,m ≤1000)。

2023-04-20 19:36:02 865

原创 oj|生日蛋糕(1332)(绝对正确)难度:中

7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体。设从下往上数第i(1≤i≤M)层蛋糕是半径为R_iRi​, 高度为H_iHi​的圆柱。当i<M时,R_i>R_i+1且H_i>H_i+1Ri​>Ri​+1且Hi​>Hi​+1。有两行,第一行为N(N≤10000),表示待制作的蛋糕的体积为Nπ;第二行为M(M≤20),表示蛋糕的层数为M。令Q=Sπ,请编程对给出的N和M,找出蛋糕的制作方案(适当的R_i和H_iRi​和Hi​的值),使S最小。

2023-04-15 10:56:05 76

原创 oj|子集和问题(1327)(绝对正确)

子集和问题的一个实例为〈S,t〉。其中,S={ x_1, x_2,…, x_n}S=x1​,x2​,…,xn​是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得子集S1和等于c。对于给定的正整数的集合S={ x_1, x_2,…, x_n}S=x1​,x2​,…,xn​和正整数c,编程计算S 的一个子集S1,使得子集S1和等于c。第1行有2个正整数n和c,n表示S的个数,c是子集和的目标值。接下来的1 行中,有n个正整数,表示集合S中的元素。将子集和问题的解输出。

2023-04-15 10:51:00 243

原创 oj|抽奖1and抽奖2(1297and1298)(绝对正确)

现在,主持人依次公布 n 个不同的获奖号码,小谢看着自己抽奖券上的号码 num,无比紧张。请编写一个程序,如果小谢获奖了,请输出他中的是第几个号码;如果没有中奖,请输出 0。第二行包含 n 个正整数,之间用一个空格隔开,表示依次公布的 n 个获奖号码。一行一个整数,如果小谢中奖了,表示中奖的是第几个号码;第一行一个正整数 n,表示有 n 个获奖号码,2<n≤100。第三行一个正整数 num,表示小谢抽奖券上的号码。注:抽奖1和抽奖2描述、输入、输出、代码都一样。1≤获奖号码,num<10000。

2023-04-08 09:39:49 50

原创 oj|家谱gen(1292)(绝对正确)

由多行组成,首先是一系列有关父子关系的描述,其中每一组父子关系由二行组成,用#name的形式描写一组父子关系中的父亲的名字,用+name的形式描写一组父子关系中的儿子的名字;name的形式表示要求该人的最早的祖先;规定每个人的名字都有且只有6个字符,而且首字母大写,且没有任意两个人的名字相同。现代的人对于本家族血统越来越感兴趣,现在给出充足的父子关系,请你编写程序找到某个人的最早的祖先。按照输入的要求顺序,求出每一个要找祖先的人的祖先,格式:本人的名字+一个空格+祖先的名字+回车。

2023-04-06 19:34:26 131 1

原创 oj|搭配购买buy(1291)(绝对正确)

Joe觉得云朵很美,决定去山上的商店买一些云朵。商店里有n朵云,云朵被编号为1,2,…...,n,并且每朵云都有一个价值。但是商店老板跟他说,一些云朵要搭配来买才好,所以买一朵云则与这朵云有搭配的云都要买。但是Joe的钱有限,所以他希望买的价值越多越好。第1行n,m,w,表示n朵云,m个搭配,Joe有w的钱。第2~n+1行,每行ci,di表示i朵云的价钱和价值。第n+2~n+1+m行,每行ui,vi,表示买ui就必须买vi,同理,如果买vi就必须买ui。一行,表示可以获得的最大价值。

2023-04-06 19:25:49 44

原创 oj|团伙group(1289)(绝对正确)

在某城市里住着n个人,任何两个认识的人不是朋友就是敌人,而且满足:1、我朋友的朋友是我的朋友;2、我敌人的敌人是我的朋友;所有是朋友的人组成一个团伙。告诉你关于这n个人的m条信息,即某两个人是朋友,或者某两个人是敌人,请你编写一个程序,计算出这个城市最多可能有多少个团伙?以下m行,每行为p x y,p的值为0或1,p为0时,表示x和y是朋友,p为1时,表示x和y是敌人。第1行为n和m,1<n<1000,1<=m<=100 000;一个整数,表示这n个人最多可能有几个团伙。

2023-04-06 19:17:09 86

原创 oj|最短路Spfa(1288)(绝对正确)

第一行:N,M(N≤100000,M≤500000);接下来M行3个正整数:ai,bi,ci表示ai,bi之间有一条长度为ci的路,ci≤1000。给定 M 条边, N 个点的带权无向图。求 1到 N 的最短路。一个整数,表示 1 到 N 的最短距离。

2023-04-06 19:13:57 70

原创 oj|最优乘车travel(1287)(绝对正确)

一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达S公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士, 这样换乘几次后到达S公园。从第二行到第 M+1 行依次给出了第 1条到第 M 条巴士线路的信息,其中第 i+1 行给出的是第 i 条巴士线路的信息,从左至右按运行顺序依次给出了该线路上的所有站号,相邻两个站号之间用一个空格隔开。如果无法乘巴士从饭店到达S公园,则输出"N0",否则输出你的程序所找到的最少换车次数,换车次数为0表示不需换车即可到达。

2023-04-05 11:51:09 146

原创 oj|信使msner(1286)(绝对正确)

战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。指挥部设在第一个哨所。当一个哨所接到信后,这个哨所内的信使们也以同样的方式向其他哨所送信。因为准备充足,每个哨所内都安排了足够的信使(如果一个哨所与其他k个哨所有通信联系的话,这个哨所内至少会配备k个信使)。第1行有两个整数n和m,中间用1个空格隔开,分别表示有n个哨所和m条通信线路,且1≤n≤100。第2至m+1行:每行三个整数i、j、k,中间用1个空格隔开,表示第i个和第j个哨所之间存在通信线路,且这条线路要花费k天。

2023-04-05 11:45:01 128

原创 oj|香甜的黄油(1304)(绝对正确)

把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油。给出各头牛在的牧场和牧场间的路线,找出使所有牛到达的路程和最短的牧场(他将把糖放在那)。农夫John很狡猾。像以前的巴甫洛夫,他知道他可以训练这些奶牛,让它们在听到铃声时去一个特定的牧场。第N+2行到第N+C+1行:每行有三个数:相连的牧场A、B,两牧场间距(1<=D<=255),当然,连接是双向的。第一行:三个数:奶牛数N,牧场数P(2<=P<=800),牧场间道路数C(1<=C<=1450)。

2023-04-05 11:37:28 45

原创 oj|最小花费(1285)(绝对正确)

第一行输入两个正整数n,m,分别表示总人数和可以互相转账的人的对数。以下m行每行输入三个正整数x,y,z,表示标号为x的人和标号为y的人之间互相转账需要扣除z%的手续费 (z<100)。最后一行输入两个正整数A,B。数据保证A与B之间可以直接或间接地转账。在n个人中,某些人的银行账号之间可以互相转账。这些人之间转账的手续费各不相同。给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问A最少需要多少钱使得转账后B收到100元。输出A使得B到账100元最少需要的总费用。精确到小数点后8位。

2023-04-05 11:34:59 54

原创 oj|牛的旅行(1284)(绝对正确)

图1所示的牧场的直径大约是12.07106, 最远的两个牧区是A和E,它们之间的最短路径是A-B-E。John将会在两个牧场中各选一个牧区,然后用一条路径连起来,使得连通后这个新的更大的牧场有最小的直径。现在请你编程找出一条连接两个不同牧场的路径,使得连上这条路径后,这个更大的新牧场有最小的直径。对这条路径有这样的限制:一个牧场的直径就是牧场中最远的两个牧区的距离 ( 本题中所提到的所有距离指的都是最短的距离 )。考虑如下的两个牧场,图1是有5个牧区的牧场,牧区用“*”表示,路径用直线表示。

2023-04-05 11:31:29 56

原创 oj|最短路径问题(1283)(绝对正确)

共n+m+3行,其中:第一行为整数n。第2行到第n+1行(共n行) ,每行两个整数x和y,描述了一个点的坐标。第n+2行为一个整数m,表示图中连线的个数。此后的m 行,每行描述一条连线,由两个整数i和j组成,表示第i个点和第j个点之间有连线。平面上有n个点(n≤100),每个点的坐标均在-10000~10000之间。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另一点之间的最短路径。一行,一个实数(保留两位小数),表示从s到t的最短路径长度。

2023-04-05 11:28:24 109

原创 oj|FBI树(1279)(绝对正确)

我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。由一个长度为2N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下:T的根结点为R,其类型与串S的类型相同;若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;现在给定一个长度为2N的“01”串,请用上述构造方法构造出一棵FBI树,并输出它的后序遍历序列。第一行是一个整数N(0 ≤ N ≤ 10),第二行是一个长度为2N的“01”串。

2023-04-05 11:20:11 51

原创 oj|小球(drop)(完全正确)

决定球运动方向的是每个节点的布尔值。最初,所有的节点都是false,当访问到一个节点时,如果这个节点是false,则这个球把它变成true,然后从左子树走,继续它的旅程。满二叉树的标记方法如下图:因为所有的节点最初为false,所以第一个球将会访问节点1,节点2和节点4,转变节点的布尔值后在在节点8停止。明显地,第三个球在它停止之前,会访问节点1、2、5,在节点10停止。现在你的任务是,给定FBT的深度D,和I,表示第I个小球下落,你可以假定I不超过给定的FBT的叶子数,写一个程序求小球停止时的叶子序号。

2023-04-05 11:11:51 162 1

原创 oj|组合的输出(1270)(绝对正确)

排列与组合是常用的数学方法,其中组合就是从 n 个元素中抽出 r 个元素(不分顺序且 r<=n),我们可以简单地将n 个元素理解为自然数 1,2,…,n,从中任取r 个数。现要求你用递归的方法输出所有组合。所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。一行两个自然数n、r(1 < n < 21,1 <=r<=n)。

2023-04-03 18:52:55 35

原创 oj|潜水员(1266)(绝对正确)

每行三个数字为:氧,氮的(升)量和气缸的重量:3 36 120 10 25 129 5 50 250 1 45 130 4 20 119如果潜水员需要5升的氧和60升的氮则总重最小为249(1,2或者4,5号气缸)。你的任务就是计算潜水员为了完成他的工作需要的气缸的重量的最低值。第一行有2整数m,n(1≤m≤21,1≤n≤79)。此后的k行,每行包括ai,bi,ci(1≤ai≤21,1≤bi≤79,1≤ci≤800)3个整数。

2023-04-03 18:13:29 157 2

原创 oj|全排列问题(绝对正确

//题目好像没说要从小到大输出。//即a[1~n]=n~1;//但保险起见还是初始赋值为最大序列。

2023-04-03 18:08:20 115 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除