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 ...
随机推荐
- web安全之跨站请求伪造
CSRF(Cross-site request forgery),中文名称:跨站请求伪造.因为这个不是用户真正想发出的请求,这就是所谓的请求伪造;因为这些请求也是可以从第三方网站提交的,所以前缀跨站二 ...
- centos7更改远程端口
centos7更改远程端口 一.创建个普通账户(useradd work),给普通账户创建密码(password work) 二.查看应有的软件是否安装 1.查看semanager是否安装执行下面命令 ...
- JS按字节截取字符长度实例
处理过长的字符串,截取并添加省略号 * 注:半角长度为1,全角长度为2 * * pStr:字符串 * pLen:截取长度 * * return: 截取后的字符串 * 代码如下: function ...
- hdoj2952【DFS联通块】
我觉得还是这种不带回溯的直接搜到底的好玩啊!!!但是要注意边界,记得以前四周要空出来的一道题目,被坑了很久,还是wa到比赛结束!!!这道还是基础题 类似的基础题:POJ1562 hdoj1016 po ...
- javascript E5面向对象和 E6面向对象
javascript es6之前的面向对象方法: 一般使用构造函数来实现 function Person (name, age) { this.name = name; this.age = age; ...
- 第十一篇 .NET高级技术之内置泛型委托
Func.Action 一.如果不是声明为泛型委托 委托的类型名称不能重载,也就是不能名字相同类型参数不同 二..Net中内置两个泛型委托Func.Action(在“对象浏览器”的mscorlib的S ...
- C# 中使用Image.FromFile(string path)后,提示该文件正在被另一进程使用XXX的问题
C# 中使用Image.FromFile(string path)后,提示该文件正在被另一进程使用XXX的问题 C# 中使用Image.FromFile(string path)后,提示该文件正在被另 ...
- Hexo瞎折腾系列(3) - 添加GitHub彩带和GitHub Corner
页面右上角添加GitHub彩带 你可以在这里找到一共12种样式的GitHub彩带,复制其中的超链代码. 在themes\next\layout\_layout.swig目录下找到头部彩带相关的代码: ...
- 基于Tcp协议的上传下载
目录格式: 构建此目录就可随意使用! client端 import socket import sys import os import json import struct sk = socket. ...
- LightOj 1076 - Get the Containers (折半枚举好题)
题目链接: http://www.lightoj.com/volume_showproblem.php?problem=1076 题目描述: 给出n个数,要求分成m段,问这m段中最大的总和,最小是多少 ...