• hdu4572 Bottles Arrangement(找规律)


    Bottles Arrangement

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 224    Accepted Submission(s): 176

    Problem Description
    Hunan cuisine is really wonderful! But if you don’t like spicy food, you will feel terrible since it can be hard for you to find any food without hot pepper here. Big Fan is a student from the north who was not fit to the spicy food in Changsha. He became thinner and thinner because eating little food and maintained his life mostly by drinking water. One day, he found that the wine in Hunan is pretty good, such as Jiugui, Liuyang River, Shaoyang Daqu and so on. He got addicted to it and became an alcoholic, leading a depressed life. 
    Now N days have passed and he is sobered. He is surprised to find that there are exactly N×M bottles around him. Another amazing fact is that there are N bottles with height 1 and N bottles with height 2 … N bottles with height M.
    Now he is interested in playing with these bottles. He wants to arrange all these bottles in a rectangle with M rows and N columns which satisfied: 
    (1)In any column, there are no bottles with same height; 
    (2)In any row, the height difference between any two adjacent bottles is no more than 1. 
    He defined a strange function Y which equals the maximum value of the total height of any single row. He is addicted in arranging these rubbish bottles to find the minimal Y. You know that he cannot solve it with his pour IQ. You are his friend and can’t endure his decadence any more. So you decide to help him solve this problem and then bring him back to study.
     
    Input
    There are several test cases. For each case, the input contains one line with two integers M and N (1< M <= 10000, 3 <= N < 2×M, It is guaranteed that N is always odd).
    The input will finish with the end of file.
     
    Output
    For each test case, print the minimal Y in single line.
     
    Sample Input
    3 3 3 5
     
    Sample Output
    8 11
    Hint
    For the first case the solution is: 1 2 3 2 1 1 3 3 2
     
    Source
     

    这题写起来很简单,可是推理起来不简单,比赛时只觉得不简单就没做它,谁知道这么短的代码就能过了,只能说自己能力不够

    这个算是找规律的,当时就直接跳过了。把m,m,m-1,m-1,m-2,m-2,m-3,m-3..........前n项求出来输出即可

    关于这个题的证明,网上可以找到,有人看了,证明这个写了两页,反正比这个代码要长很多的

    #include<stdio.h>
    int main()
    {
    	int n,m,i,sum,j;
    	while(scanf("%d%d",&m,&n)!=EOF)
    	{
    		sum=0;
    		for(i=0;i<=n/2;i++)
    		{
    			sum+=(m-i)*2;
    		}
    		sum-=m-i+1;
    		printf("%d
    ",sum);
    	}
    	return 0;
    }


  • 相关阅读:
    IntelliJ IDEA 2018.3 升级功能介绍
    Spring 自动装配及其注解
    在IDEA中实战Git-branch
    IntelliJ IDEA 新版发布:支持CPU火焰图,新增酷炫主题
    java中URL和File的相互转化
    写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度
    输入一行字符,分别统计出其中英文 字母、空格、数字和其它字符的个数
    输入两个正整数m和n,求其最大公约数和最小公倍数。
    一个数如果恰好等于它的因子之和,这个数就称为 "完数 "
    判断101-200之间有多少个素数,并输出所有素数。
  • 原文地址:https://www.cnblogs.com/bbsno1/p/3260408.html
Copyright © 2020-2023  润新知