zoukankan      html  css  js  c++  java
  • [置顶] 2013腾讯编程马拉松初赛第4场(3月24)(HDU 4520 HDU4521 HDU4522 HDU4523 HDU4524)

        话说昨天比赛终于拿到一个不错的名次,rank77,对于我们这种ACM弱菜的学校来说已经很好了,可惜我1003用了俩floyd超时,如果我最近稍微搞搞图论的话,用个bellman,或者SPFA,绝对超不了了就。。。哎。。他们的1002貌似也差点出来。。。还有1004被坑人的wa了两次。。。。

        理工大的孩子们看到之后,一定好好整理下,不管是这场比赛,还是前几场,比完之后整理再做这些题比较重要。这次比赛的题都不是出不来的,大家加油了。。。


    第一题:小Q系列故事——最佳裁判

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4520

    题解:水题啊。。懒得看。。贴大牛毕鲁阳的代码

    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    
    struct cp
    {
        int num;
        double p;
    } P[22];
    int cmp(cp a, cp b)
    {
        return a.p > b.p ? 1 : 0;
    }
    int main()
    {
        int n;
        double sum = 0 ;
        double ave;
        int ans;
        double m;
        while(scanf("%d",&n),n)
        {
            sum = 0;
            m = 999999999;
            for(int i = 0; i < n; i++)
            {
                scanf("%lf",&P[i].p);
                P[i].num = i+1;
            }
            sort(P,    P+n,cmp);
            for(int i = 1; i < n-1; i++)
            {
                sum += P[i].p;
            }
            ave = sum / (n-2);
            for(int i = 0; i <n; i++)
            {
                if(abs(P[i].p-ave)<m)
                {
                    m = abs(P[i].p-ave);
                    ans = P[i].num;
                }
            }
            printf("%d\n",ans);
            
        }
        return 0;
    }





    第二题:小明系列问题——小明序列

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4521

    题解:




    第三题:湫湫系列故事——过年回家

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4522

    题解:




    第四题:威威猫系列故事——过生日

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4523

    题解:两个地方要注意,第一就是我一开始没看到数据量wa了一次。。。10^100 我还用int。。真惊了。。当时只图快了。。结果这下就是20分钟。。哎。。。第二点要注意就是。。杭电相当坑人的M。。他的范围是 M>0 的!!!这就意味着当M为1或者2的时候。。。n和p无论是多少都分割不出来1边形和2边形。。。。又WA一次。。。哎。。欲速则不达啊!!一共罚了40分钟。。。

    import java.math.BigInteger;
    import java.util.Scanner;
    
    public class main {
    
    	public static void main(String[] args) {
    		BigInteger n, m, p;
    
    		Scanner cin = new Scanner(System.in);
    		while (cin.hasNextBigInteger())
    		{
    			 n = cin.nextBigInteger();
    	         m = cin.nextBigInteger();
    	         p = cin.nextBigInteger();
    	         BigInteger tmp1 = n.add(p);
    	         BigInteger tmp2 = BigInteger.valueOf(3);
    	         if (tmp1.compareTo(m) < 0 || m.compareTo(tmp2) < 0)
    	        	 System.out.println("NO");
    	         else
    	        	 System.out.println("YES");
    		}
    	}
    }
    



    第五题:郑厂长系列故事——逃离迷宫

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=4524

    题解:一开始没看懂题意,好郁闷,我理解能力的确有点问题,题目的意思,右边倒数第一个格子和倒数第二个格子必须同时消失,否则郑厂长就无法进行操作。。。就是这里有点坑。。其他都没什么难的。。

    #include <iostream>
    using namespace std;
    int main()
    {
    	int t;
    	scanf("%d", &t);
    	while (t--)
    	{
    		int n;
    		scanf("%d", &n);
    		bool flag = true;
    		int i, tmp, num=0;
    		for (i=0; i<n; i++)
    		{
    			scanf("%d", &tmp);
    			if (i==n-1 && tmp != num) flag = false;
    			if (tmp < num) flag = false;
    			else num = tmp - num;
    		}
    		if (flag)
    			puts("yeah~ I escaped ^_^");
    		else
    			puts("I will never go out T_T");
    	}
    	return 0;
    }




  • 相关阅读:
    windows应用程序单实例
    11. 无数人难办事?
    递归、尾递归和使用Stream延迟计算优化尾递归
    吴裕雄--天生自然MySQL学习笔记:MySQL 函数
    吴裕雄--天生自然MySQL学习笔记:MySQL 导入数据
    吴裕雄--天生自然MySQL学习笔记:MySQL 导出数据
    吴裕雄--天生自然MySQL学习笔记:MySQL 及 SQL 注入
    吴裕雄--天生自然MySQL学习笔记:MySQL 处理重复数据
    吴裕雄--天生自然MySQL学习笔记:MySQL 序列使用
    吴裕雄--天生自然MySQL学习笔记:MySQL 元数据
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/2980558.html
Copyright © 2011-2022 走看看