zoukankan      html  css  js  c++  java
  • 规律好题——Codeforces Round #104 (Div. 2) D

    首先找规律知道|s(47)-s(74)|<=1
    |s(47)-s(74)|==0
      47474……4
    或  74747……7
    |s(47)-s(74)|==1
    会是4747……47
    或是7474……74
    最终由是s(4),s(7)决定
    View Code
    #include<stdio.h>
    #include<math.h>

    int main()
    {
    int a,b,c,d;
    while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF)
    {
    int i,j;
    if(abs(c-d)>1)
    {
    printf("-1\n");
    continue;
    }

    int add=0,max=c;
    if(abs(c-d)==1)
    {
    if(max<d)max=d;
    if(a<max||b<max){
    printf("-1\n");continue;
    }

    if(c>d){
    add=a-max;
    while(add--)printf("4");
    add=max;
    while(add--)printf("47");
    add=b-max;
    while(add--)printf("7");
    printf("\n");
    }
    else
    {
    printf("7");
    add=a-d;
    while(add--)printf("4");
    add=c;
    while(add--)printf("47");
    add=b-d;
    while(add--)printf("7");
    printf("4\n");
    }
    }
    else
    {
    if(a<c||b<c){
    printf("-1\n");continue;
    }

    if(a==b&&b==c){
    printf("-1\n");continue;
    }

    if(a>=c+1)//474
    {
    add=a-c-1;
    while(add--)printf("4");
    add=c;
    while(add--)printf("47");
    add=b-c;
    while(add--)printf("7");
    printf("4");
    }
    else
    {
    add=c;
    while(add--)printf("74");
    add=b-c;
    while(add--)printf("7");
    }
    printf("\n");
    }
    }
    }


  • 相关阅读:
    ubuntu安装后要做什么
    JavaScript错误处理
    jQuery 事件
    display的用法
    百度排名的原理
    什么是ajax?
    CSS文档流
    引用CSS的方法
    jQuery的安装方式
    禁止WPS2019开机自启动
  • 原文地址:https://www.cnblogs.com/huhuuu/p/2335808.html
Copyright © 2011-2022 走看看