DoveCLL and Resistance(湖北省赛)
题目
构造一个由串联和并联构成的纯电阻电路,使得该电路的等效电阻为p/q,其中(p,q) = 1。要求输出n,表示节点数,m表示电阻个数,m行每行ui,vi,wi,表示ui和vi之间要连上一个电阻为wi,然后输出s,t表示接入节点和接出节点。
原题链接:https://www.nowcoder.com/acm/contest/104/D
思路
p/q = r + t/q,首先串联一个rΩ电阻,由并联电路电阻公式1/R = 1/R1 + 1/R2+...1/Rn,所以q/t = r2 + t2/q,其中r2可以用r2个1Ω电阻组成,如果t2不为0,重复上一步骤,这个可以递归完成。直到r为0或1,返回。
代码实现
#include<stdio.h>
#include<iostream>
using namespace std; struct node
{
int u, v;
int w;
node(){}
node(int nu,int nv,int nw):u(nu),v(nv),w(nw){}
}ans[ + ];
int p, q;
int numr; //电阻个数
int head,tail; inline void dfs(int x,int y,int l,int r)
{
if (x > y)
{
ans[numr++] = node(l, ++tail, x / y);
x %= y;
dfs(x, y, tail, r);
}
else
{
tail++;
if (tail != r) ans[numr++] = node(tail, r, );
for (int i = ; i < y / x; i++) ans[numr++] = node(l, tail, );
y %= x;
if (y == ) return;
if (y == )
{
ans[numr++] = node(l, tail, x);
return;
}
dfs(x, y, l, tail);
}
} int main()
{
while (scanf("%d%d",&p,&q) == )
{
numr = ;
head = tail = ;
if (p >= q)
{
ans[numr++] = node(, , p / q);
p %= q;
head++;
tail++;
}
dfs(p, q, head, head + );
printf("%d %d\n", tail, numr);
for (int i = ; i < numr; i++)
printf("%d %d %d\n", ans[i].u, ans[i].v, ans[i].w);
printf("1 %d\n", head + );
} return ;
}
参考链接:https://www.nowcoder.com/acm/contest/view-submission?submissionId=25692511
DoveCLL and Resistance(湖北省赛)的更多相关文章
- 2018今日头条湖北省赛【H】
[题目链接]https://www.nowcoder.com/acm/contest/104/G 现场赛的H题,emmm...C++选手表示很伤心.高精度压四位板子WA四发. 题意很简单就是给你n个数 ...
- 2018今日头条湖北省赛【D】
[题目链接]https://www.nowcoder.com/acm/contest/104/C 不知道这题为啥没过.队友现场推的都是对的..233333好像代码写的有问题,下来就很恼火. 题意大概就 ...
- 2018今日头条湖北省赛【A】
[题目链接]https://www.nowcoder.com/acm/contest/104/A 这题就是很简单的几何题..md现场推了很久的cos sin仿佛像个zz.自己都想给自己一巴掌. 题意就 ...
- HDU 6191 Query on A Tree(字典树+离线)
Query on A Tree Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Othe ...
- “今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛 )--E. DoveCCL and Resistance
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 链接:https://www.nowcoder.com/acm/contest/104/D来源:牛客网 题目描述 ...
- A. Srdce and Triangle--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
如下图这是“今日头条杯”首届湖北省大学程序设计竞赛的第一题,作为赛后补题 题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 Let be a regualr tr ...
- D. Who killed Cock Robin--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 题目描述 由于系统限制,C题无法在此评测,此题为现场赛的D题 Who killed Cock Robin? I, ...
- I. Five Day Couple--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 链接:https://www.nowcoder.com/acm/contest/104/H来源:牛客网 题目描述 ...
- H. GSS and Simple Math Problem--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 题目描述 Given n positive integers , your task is to calculat ...
随机推荐
- c++实现数值的整数次方(类似pow())作用
/* * 计算数值的整数次方.cpp * * Created on: 2018年4月13日 * Author: soyo */ #include<iostream> #include< ...
- Table View Programming Guide for iOS---(五)---Creating and Configuring a Table View
Creating and Configuring a Table View Your app must present a table view to users before it can mana ...
- 任务41:Individual authentication 模板
使用命令行创建项目 会自动加上ef core和Identity core代码的示例 默认创建mvc是不带Identity的 dotnet new -help:查看可用的命令: -au:Individu ...
- python __builtins__ zip类 (71)
71.'zip' , 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表.如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作 ...
- P5167 xtq的神笔
传送门 题解 倍增也好二分也好,果然复杂度只要和\(\log\)插上关系就没我啥事了-- 首先由一个显而易见然而我完全没有发现的结论,设\(calc(l,r)\)表示区间\([l,r]\)的\(or\ ...
- 【POJ - 2664】Prerequisites? (排序+查找)
Prerequisites? 原文是English,这里直接就写中文吧 题意简述 k:已经选择的科目数:m:选择的科目类别:c:能够选择的科目数.r:要求最少选择的科目数量 在输入的k和m以下的一行是 ...
- TensorFlow图像处理函数
参考书 <TensorFlow:实战Google深度学习框架>(第2版) 图像编码处理+图像大小调整+图像翻转+图像色彩调整+处理标注框 #!/usr/bin/env python # - ...
- 分布式集群环境下,如何实现session共享二(项目开发)
在上一篇分布式集群环境下,如何实现session共享一(应用场景)中,介绍了在分布式集群下,需要实现session共享的应用场景.并且最后留下了一个问题:在集群环境下,如何实现session的共享呢? ...
- 通过 xshell 连接 ubuntu on windows(WSL)
装上 ubuntu on windows 后,默认要先打开 cmd, 再运行 bash 进入 ubuntu 的 shell. 但是这个shell很难看,配色不好就算了,还存在各种复制粘贴麻烦. 默认没 ...
- Wolfycz的娱乐赛题解
现在不会放题解的!比赛完了我会把题解放上来的 祝大家玩的愉快~ 等会,cnblogs不会显示更新时间?我禁赛我自己 UPD:2018.12.15 欢迎大家爆踩标程- painting 我们考虑转化题意 ...