HDU 5631Minimum Cut-Cut

来源:互联网 发布:基础英语口语对话软件 编辑:程序博客网 时间:2024/05/04 12:46
<div class="plm" style="text-align: center; font-size: 12pt; color: rgb(34, 34, 34); clear: both;"><div class="ptt" id="problem_title" style="font-size: 18pt; font-weight: bold; color: blue; padding: 10px;">Minimum Cut-Cut</div><span id="crawlSuccess" class="crawlInfo" style="display: inline;"><strong>Time Limit:</strong><span id="timeLimit">1000</span>MS     <strong>Memory Limit:</strong><span id="memoryLimit">65536</span>KB     <strong>64bit IO Format:</strong><span id="_64IOFormat">%I64d & %I64u</span></span><div id="problem_opt" style="font-size: 12px; margin-top: 10px;"><a target=_blank id="submit" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" style="display: inline-block; position: relative; padding: 0px; margin-right: 0.1em; cursor: pointer; vertical-align: middle; overflow: visible; font-family: Verdana, Arial, sans-serif; font-size: 1em; border: 1px solid rgb(211, 211, 211); color: rgb(85, 85, 85); border-radius: 4px; background: url("../jquery-ui-1.11.1.custom/images/ui-bg_glass_75_e3e4f8_1x400.png") 50% 50% repeat-x rgb(227, 228, 248);"><span class="ui-button-text" style="display: block; padding: 0.4em 1em;">Submit</span></a> <a target=_blank id="problem_status" href="http://acm.hust.edu.cn/vjudge/contest/125257#status//B/0" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" style="display: inline-block; position: relative; padding: 0px; margin-right: 0.1em; cursor: pointer; vertical-align: middle; overflow: visible; text-decoration: none; font-family: Verdana, Arial, sans-serif; font-size: 1em; border: 1px solid rgb(211, 211, 211); color: rgb(85, 85, 85); border-radius: 4px; background: url("../jquery-ui-1.11.1.custom/images/ui-bg_glass_75_e3e4f8_1x400.png") 50% 50% repeat-x rgb(227, 228, 248);"><span class="ui-button-text" style="display: block; padding: 0.4em 1em;">Status</span></a> <a target=_blank id="problem_practice" target="_blank" href="http://acm.hust.edu.cn/vjudge/problem/327844" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" style="display: inline-block; position: relative; padding: 0px; margin-right: 0.1em; cursor: pointer; vertical-align: middle; overflow: visible; text-decoration: none; font-family: Verdana, Arial, sans-serif; font-size: 1em; border: 1px solid rgb(211, 211, 211); color: rgb(85, 85, 85); border-radius: 4px; background: url("../jquery-ui-1.11.1.custom/images/ui-bg_glass_75_e3e4f8_1x400.png") 50% 50% repeat-x rgb(227, 228, 248);"><span class="ui-button-text" style="display: block; padding: 0.4em 1em;">Practice</span></a> <a target=_blank id="problem_origin" target="_blank" href="http://acm.hust.edu.cn/vjudge/problem/327844/origin" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" style="display: inline-block; position: relative; padding: 0px; margin-right: 0.1em; cursor: pointer; vertical-align: middle; overflow: visible; text-decoration: none; font-family: Verdana, Arial, sans-serif; font-size: 1em; border: 1px solid rgb(211, 211, 211); color: rgb(85, 85, 85); border-radius: 4px; background: url("../jquery-ui-1.11.1.custom/images/ui-bg_glass_75_e3e4f8_1x400.png") 50% 50% repeat-x rgb(227, 228, 248);"><span class="ui-button-text" style="display: block; padding: 0.4em 1em;">HDU 5631</span></a></div></div><div style="color: rgb(34, 34, 34); font-family: Verdana, Arial, sans-serif; font-size: 14px; width: 960px; margin: auto;"><div id="desc_B_0" class="desc_template"><div class="vj_description"><p class="pst" style="font-family: Arial, Helvetica, sans-serif; font-size: 18pt; font-weight: bold; color: blue; margin-bottom: 0px;">Description</p><div class="textBG" style="border-radius: 10px; padding: 10px; border: 2px dotted; font-family: 'Times New Roman', Times, serif; font-size: 17px; background-color: rgb(234, 235, 255);"><div class="panel_content">As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks to practice. There is one of them: Yuta has a non-direct graph with n vertices and n+1 edges. Rikka can choose some of the edges (at least one) and delete them from the graph. Yuta wants to know the number of the ways to choose the edges in order to make the remaining graph connected. It is too difficult for Rikka. Can you help her?</div></div></div><div class="vj_input"><p class="pst" style="font-family: Arial, Helvetica, sans-serif; font-size: 18pt; font-weight: bold; color: blue; margin-bottom: 0px;">Input</p><div class="textBG" style="border-radius: 10px; padding: 10px; border: 2px dotted; font-family: 'Times New Roman', Times, serif; font-size: 17px; background-color: rgb(234, 235, 255);">The first line contains a number <span class="MathJax_Preview" style="color: rgb(136, 136, 136);"></span><span class="MathJax" id="MathJax-Element-1-Frame" role="textbox" aria-readonly="true" style="display: inline; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px;"><nobr style="transition: none; border: 0px; padding: 0px; margin: 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px;"><span class="math" id="MathJax-Span-1" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0.003em;"><span style="transition: none; display: inline-block; position: relative; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0.003em; height: 0px; font-size: 18.53px;"><span style="transition: none; position: absolute; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; clip: rect(0.111em 1000em 1.46em -0.483em); top: -1.023em; left: 0.003em;"><span class="mrow" id="MathJax-Span-2" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><span class="mi" id="MathJax-Span-3" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/400/0054.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px -0.105em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 13px; height: 13px; display: inline !important; float: none !important;" alt="" /><span style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; overflow: hidden; height: 1px; width: 0.111em;"></span></span><span class="mo" id="MathJax-Span-4" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0028.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.057em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: -5px; width: 6px; height: 19px; display: inline !important; float: none !important;" alt="" /></span><span class="mi" id="MathJax-Span-5" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/400/0054.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px -0.105em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 13px; height: 13px; display: inline !important; float: none !important;" alt="" /><span style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; overflow: hidden; height: 1px; width: 0.111em;"></span></span><span class="mo" id="MathJax-Span-6" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px 0px 0px 0.273em; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/2264.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.111em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: -3px; width: 13px; height: 15px; display: inline !important; float: none !important;" alt="" /></span><span class="mn" id="MathJax-Span-7" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px 0px 0px 0.273em; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0033.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.057em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 9px; height: 13px; display: inline !important; float: none !important;" alt="" /><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0030.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.057em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 9px; height: 13px; display: inline !important; float: none !important;" alt="" /></span><span class="mo" id="MathJax-Span-8" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0029.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.111em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: -5px; width: 6px; height: 19px; display: inline !important; float: none !important;" alt="" /></span></span><span style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0px; height: 1.028em;"></span></span></span><span style="transition: none; display: inline-block; position: static; border-width: 0px 0px 0px 0.003em; border-left-style: solid; border-color: initial; padding: 0px; margin: 0px; vertical-align: -0.35em; overflow: hidden; width: 0px; height: 1.238em;"></span></span></nobr></span>——The number of the testcases. For each testcase, the first line contains a number <span class="MathJax_Preview" style="color: rgb(136, 136, 136);"></span><span class="MathJax" id="MathJax-Element-2-Frame" role="textbox" aria-readonly="true" style="display: inline; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px;"><nobr style="transition: none; border: 0px; padding: 0px; margin: 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px;"><span class="math" id="MathJax-Span-9" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0.003em;"><span style="transition: none; display: inline-block; position: relative; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0.003em; height: 0px; font-size: 18.53px;"><span style="transition: none; position: absolute; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; clip: rect(0.111em 1000em 1.46em -0.483em); top: -1.023em; left: 0.003em;"><span class="mrow" id="MathJax-Span-10" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><span class="mi" id="MathJax-Span-11" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/400/006E.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.003em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 11px; height: 9px; display: inline !important; float: none !important;" alt="" /></span><span class="mo" id="MathJax-Span-12" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0028.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.057em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: -5px; width: 6px; height: 19px; display: inline !important; float: none !important;" alt="" /></span><span class="mi" id="MathJax-Span-13" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/400/006E.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.003em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 11px; height: 9px; display: inline !important; float: none !important;" alt="" /></span><span class="mo" id="MathJax-Span-14" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px 0px 0px 0.273em; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/2264.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.111em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: -3px; width: 13px; height: 15px; display: inline !important; float: none !important;" alt="" /></span><span class="mn" id="MathJax-Span-15" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px 0px 0px 0.273em; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0031.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.057em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 8px; height: 12px; display: inline !important; float: none !important;" alt="" /><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0030.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.057em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 9px; height: 13px; display: inline !important; float: none !important;" alt="" /><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0030.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.057em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 9px; height: 13px; display: inline !important; float: none !important;" alt="" /></span><span class="mo" id="MathJax-Span-16" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/0029.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.111em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: -5px; width: 6px; height: 19px; display: inline !important; float: none !important;" alt="" /></span></span><span style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0px; height: 1.028em;"></span></span></span><span style="transition: none; display: inline-block; position: static; border-width: 0px 0px 0px 0.003em; border-left-style: solid; border-color: initial; padding: 0px; margin: 0px; vertical-align: -0.35em; overflow: hidden; width: 0px; height: 1.238em;"></span></span></nobr></span>. Then n+1 lines follow. Each line contains two numbers <span class="MathJax_Preview" style="color: rgb(136, 136, 136);"></span><span class="MathJax" id="MathJax-Element-3-Frame" role="textbox" aria-readonly="true" style="display: inline; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px;"><nobr style="transition: none; border: 0px; padding: 0px; margin: 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px;"><span class="math" id="MathJax-Span-17" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0.003em;"><span style="transition: none; display: inline-block; position: relative; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0.003em; height: 0px; font-size: 18.53px;"><span style="transition: none; position: absolute; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; clip: rect(0.434em 1000em 1.406em -0.483em); top: -1.023em; left: 0.003em;"><span class="mrow" id="MathJax-Span-18" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><span class="mi" id="MathJax-Span-19" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/400/0075.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.003em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 10px; height: 9px; display: inline !important; float: none !important;" alt="" /></span><span class="mo" id="MathJax-Span-20" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Main/Regular/400/002C.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.057em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: -4px; width: 4px; height: 6px; display: inline !important; float: none !important;" alt="" /></span><span class="mi" id="MathJax-Span-21" style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px 0px 0px 0.165em; margin: 0px; vertical-align: 0px;"><img src="http://acm.split.hdu.edu.cn/js/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/400/0076.png?rev=2.4-beta-2" style="transition: none; border: 0px; padding: 0px; margin: 0px 0.003em 0px 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; vertical-align: 0px; width: 9px; height: 9px; display: inline !important; float: none !important;" alt="" /></span></span><span style="transition: none; display: inline-block; position: static; border: 0px; padding: 0px; margin: 0px; vertical-align: 0px; width: 0px; height: 1.028em;"></span></span></span><span style="transition: none; display: inline-block; position: static; border-width: 0px 0px 0px 0.003em; border-left-style: solid; border-color: initial; padding: 0px; margin: 0px; vertical-align: -0.291em; overflow: hidden; width: 0px; height: 0.826em;"></span></span></nobr></span> , which means there is an edge between u and v.</div></div><div class="vj_output"><p class="pst" style="font-family: Arial, Helvetica, sans-serif; font-size: 18pt; font-weight: bold; color: blue; margin-bottom: 0px;">Output</p><div class="textBG" style="border-radius: 10px; padding: 10px; border: 2px dotted; font-family: 'Times New Roman', Times, serif; font-size: 17px; background-color: rgb(234, 235, 255);">For each testcase, print a single number.</div></div><div class="vj_sampleInput"><p class="pst" style="font-family: Arial, Helvetica, sans-serif; font-size: 18pt; font-weight: bold; color: blue; margin-bottom: 0px;">Sample Input</p><div class="textBG" style="border-radius: 10px; padding: 10px; border: 2px dotted; font-family: 'Times New Roman', Times, serif; font-size: 17px; background-color: rgb(234, 235, 255);"><pre style="white-space: pre-wrap; word-wrap: break-word;">131 22 33 11 3

Sample Output

9

#include<stdio.h>   #include<cstring>      #include<string>  using namespace std;  int fa[111];  int from[111], to[111];  int n;  void init()  {  for(int i=0; i<=n; i++)  {   fa[i] = i;  }   }   int find_fa(int x)   {          while(x!=fa[x])        x=fa[x];        return x; }  int main()   {          int T;          scanf("%d", &T);          while(T--)          {              scanf("%d", &n);              for(int i=0; i<=n; i++)              {                  scanf("%d%d", &from[i], &to[i]);              }              int sum;              int ans = 0;              for(int i=0; i<=n; i++)              {                  sum = n;                  init();                  for(int j=0; j<=n; j++)                  {                      if(j != i)                      {                         int fx = find_fa(from[j]);                          int fy = find_fa(to[j]);                          if(fx != fy)                          {                              fa[fx] = fy;                              sum--;                          }                      }                  }                  if(sum == 1)                      ans++;              }              for(int i=0; i<=n; i++)              {                  for(int j=i+1; j<=n; j++)                  {                      init();                      sum = n;                      for(int k=0; k<=n; k++)                      {                          if(k != i && k != j)                          {                              int fx = find_fa(from[k]);                              int fy = find_fa(to[k]);                              if(fx != fy)                              {                                  fa[fx] = fy;                                  sum--;                              }                        }                      }                      if(sum == 1)                          ans++;                  }              }              printf("%d\n", ans);          }          return 0;   } 

0 0
原创粉丝点击