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

编程之美第一题 超级赛亚ACMer

时间:2015-05-31 09:28:40      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

题意太麻烦 , 就不说了, 编美第一题,  也算是签到题,和队友一起果断混了5个水

题, 也不知道会不会有小熊公仔,废话不多说,细说比赛我出的三个水题。

题解:

这个人每次战斗力会跨越,  YY了一下,每次跨越的落脚点为该跨越距离中最后一个点, 

然后就A了 ,  YY 大法好。

代码:

#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int n, m, k;
__int64 value[10005];
int slove(int x, int k1)
{
    int k2 = x;
    for(int i = x; i < n;)
    { // printf("%d\n", k2);
       for(int j = i+1; j < n; j++)
       {
          if(value[j] <= value[i] + k1)
          {
              k2 = j;            
          }        
          else break;
       }
       if(k2 >= n-1)   return 1;
       if(k2 == i)  return 0;
       i = k2, k2 = i, k1 --;        
    }
}
int main()
{
     int T, flag1 = 1;
     scanf("%d", &T);
     while(T--)
     {
        scanf("%d %d %d", &n, &m, &k);
        for(int i = 0; i < n; i++)
        scanf("%I64d", &value[i]);
        sort(value, value+n);
        printf("Case #%d:\n", flag1++);
        if(m >= value[n-1])  
        {
           printf("why am I so diao?\n");
           continue;     
        }
        if(m < value[0])
        {
           printf("madan!\n");
           continue;     
        }
        int j = 0;
        for(int i = 0; i < n; i++)
        {
           if(value[i] <= m)
           j = i;
           else break;    
        }        
        int x = slove(j, k);
        if(x == 1)  printf("why am I so diao?\n");
        else  printf("madan!\n");
     }    
}

编程之美第一题 超级赛亚ACMer

标签:

原文地址:http://blog.csdn.net/q651111937/article/details/46278541

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