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

构造——cf1202d

时间:2019-08-31 01:08:50      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:efi   include   个数   固定   code   构造   mes   while   its   

和以前有一题构造01串的很像,固定住一个7,求出3的个数,对1的位置进行贪心

/*
   1337  1
  13337  3
 133337  6
1333337 10
*/
#include<bits/stdc++.h>
using namespace std;
#define ll long long 
ll n;
ll C[100005];
int main(){
    int t;cin>>t;
    for(ll i=1;i<=100000;i++)
        C[i]=i*(i-1)/2;
    while(t--){
        scanf("%lld",&n);
        ll cnt3=1;
        while(C[cnt3+1]<=n)
            cnt3++;
        if(C[cnt3]==n){
            cout<<1;
            for(int i=1;i<=cnt3;i++)cout<<3;
            cout<<7<<\n;
            continue;
        } 
        
        for(int i=cnt3;i>=2;i--){
            while(n>=C[i]){
                n-=C[i];printf("1");
            }
            cout<<3;
        }
        cout<<3;
        cout<<7<<\n;
    }
}

 

构造——cf1202d

标签:efi   include   个数   固定   code   构造   mes   while   its   

原文地址:https://www.cnblogs.com/zsben991126/p/11437704.html

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