zoukankan      html  css  js  c++  java
  • HDU 4671 Backup Plan 构造

    http://acm.hdu.edu.cn/showproblem.php?pid=4671

    水题...构造前两列 ...最傻逼的模拟方法...统计数量后均摊到所有项...

    /********************* Template ************************/
    #include <set>
    #include <map>
    #include <list>
    #include <cmath>
    #include <ctime>
    #include <deque>
    #include <queue>
    #include <stack>
    #include <bitset>
    #include <cstdio>
    #include <string>
    #include <vector>
    #include <cassert>
    #include <cstdlib>
    #include <cstring>
    #include <sstream>
    #include <fstream>
    #include <numeric>
    #include <iomanip>
    #include <iostream>
    #include <algorithm>
    #include <functional>
    using namespace std;
    
    #define EPS         1e-8
    #define MAXN        100005
    #define MOD         (int)1e9+7
    #define PI          acos(-1.0)
    #define INF         ((1LL)<<50)
    #define max(a,b)    ((a) > (b) ? (a) : (b))
    #define min(a,b)    ((a) < (b) ? (a) : (b))
    #define max3(a,b,c) (max(max(a,b),c))
    #define min3(a,b,c) (min(min(a,b),c))
    #define BUG         cout<<"BUG! "<<endl
    #define LINE        cout<<"------------------"<<endl
    #define L(t)        (t << 1)
    #define R(t)        (t << 1 | 1)
    #define Mid(a,b)    ((a + b) >> 1)
    #define lowbit(a)   (a & -a)
    #define FIN         freopen("in.txt","r",stdin)
    #pragma comment     (linker,"/STACK:102400000,102400000")
    
    // typedef long long LL;
    // typedef unsigned long long ULL;
    // typedef __int64 LL;
    // typedef unisigned __int64 ULL;
    // int gcd(int a,int b){ return b?gcd(b,a%b):a; }
    // int lcm(int a,int b){ return a*b/gcd(a,b); }
    
    /*********************   F   ************************/
    int a[105][2];
    struct pp{
        int v;
        int id;
    }s[105];
    int cmp(pp a, pp b){
        return a.v < b.v;
    }
    int main()
    {
        //freopen("in.txt","r",stdin);
        //freopen("ou.txt","w",stdout);
        int n,m;
        while(~scanf("%d%d",&n,&m)){
            int q[105],p[105];
            if(n <= m){
                for(int i = 0 ; i < 105 ; i++) s[i].v = 0;
                for(int i = 0 ; i < m ; i++) q[i] = i % n + 1;
                sort(q,q+m);
                for(int i = 0 ; i < m ; i++) {
                    s[q[i]].v++;
                    s[q[i]].id = q[i];
                }
                sort(s+1,s+n+1,cmp);
                for(int i = 0 ; i < m ; i++){
                    int j = 0;
                    while(q[i] == q[i+1]){
                        if(s[j%n+1].id != q[i])
                            p[i++] = s[j%n+1].id;
                        else
                            p[i++] = s[(++j)%n+1].id;
                        j++;
                    }
                    if(s[j%n+1].id != q[i])
                        p[i] = s[j%n+1].id;
                    else
                        p[i] = s[(++j)%n+1].id;
                }
            }else {
                for(int i = 0 ; i < m ; i++) q[i] = i % n + 1;
                for(int i = 0 ; i < m ; i++) p[i] = n;
            }
            for(int i = 0 ; i < m ; i++){
                cout<<q[i] <<" "<<p[i]<<" ";
                for(int j = 1; j <= n ;j++){
                    if(j != q[i] && j != p[i])
                        cout<<j<<" ";
                }
                cout<<endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    Django环境配置
    python pip使用报错: Fatal error in launcher: Unable to create process using '"c:python27python.exe" "C:Python27Scriptspip.exe" '
    我的第100篇博客
    测试代码(测试函数)
    python 存储数据
    python 异常之进阶操作
    从实战的角度谈微服务(三):基于Feign的熔断
    从实战的角度谈微服务(三):基于Feign服务间的调用
    从实战的角度谈微服务(二):服务注册与发现(Eureka服务端)
    从实战的角度谈微服务(一):初识微服务
  • 原文地址:https://www.cnblogs.com/Felix-F/p/3256290.html
Copyright © 2011-2022 走看看