zoukankan      html  css  js  c++  java
  • UOJ #460. 新年的拯救计划 神仙题+构造

    对于这个神仙题,我还能说什么~

    第一个答案=$n/2$ 还是比较好猜的. 

    对于构造这个树,大概就是先从 $1$ 号节点向 $n/2$ 距离以内都连一条边,再在第 $n/2$ 个节点进行这个操作,然后从 $2$ 开始.....

    你会发现不合法的情况就是有重边,然而这个是循环的,第 $n/2+1$ 次才会重,所以是可行的. 

    #include <cstdio> 
    #include <algorithm>
    #define setIO(s) freopen(s".in","r",stdin) 
    using namespace std; 
    int main() {
        // setIO("input"); 
        int n,i,j,m; 
        scanf("%d",&n); 
        printf("%d
    ",m=(n>>1)); 
        for(i=1;i<=m;++i) {
            for(j=1;j<=m;++j) printf("%d %d ",i,i+j); 
            for(j=1;j<n-m;++j) printf("%d %d ",i+m,(i+m+j-1)%n+1); 
            printf("
    ");   
        }
        return 0; 
    }
    

      

  • 相关阅读:
    SharedPreferences 使用
    activity在activity上面
    组合组件
    浏览器的渲染原理
    Node 入门<1>
    css 样式优先级
    z-index
    事件代理
    XSS && CRLF && property&attribute
    webpack 学习笔记
  • 原文地址:https://www.cnblogs.com/guangheli/p/11395067.html
Copyright © 2011-2022 走看看