码迷,mamicode.com
首页 > 其他好文 > 详细

The 2019 ICPC Asia Shanghai Regional Contest-C-Spanning Tree Removal

时间:2020-02-22 19:47:00      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:clu   i+1   span   ret   cout   rem   regional   icpc   bsp   

知识点:构造、思维。

题目链接:https://ac.nowcoder.com/acm/contest/4370/D

题意:n点完全图,每次可以删除一个生成树的边,问最多可以删几次,并构造出其中一种。

题解:给出一种删边方式可以尽可能多次的删除:第i次:从i开始。依次删除i-(i+1)-(i-1)-(i+2)-(i-2)-…… 直到连接完所有点为止。总共可以删除n/2次。

AC代码:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main(){
 5     int t;
 6     cin>>t;
 7     for(int cas=1;cas<=t;cas++){
 8         int n;
 9         cin>>n;
10         printf("Case #%d: %d\n",cas,n/2);
11         for(int i=0;i<n/2;i++){
12             for(int j=1,f=1,x=i;j<=n-1;j++,f=-f){
13                 int y=(x+j*f+n)%n;
14                 cout<<x+1<<" "<<y+1<<"\n";
15                 x=y;
16             }
17         }
18     }
19     return 0;
20 }

 

The 2019 ICPC Asia Shanghai Regional Contest-C-Spanning Tree Removal

标签:clu   i+1   span   ret   cout   rem   regional   icpc   bsp   

原文地址:https://www.cnblogs.com/charles1999/p/12346684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!