• hdu 2725


    地址:http://acm.hdu.edu.cn/showproblem.php?pid=2725

    题意:给一个字符串表示一条河。'.'表示水,其它字符表示障碍。人在岸上用石子打水漂,每次可以选择一个击中的距离和跳跃间隔。石子多次跳跃后击中障碍物或越过河则结束。每种打水漂的方案按跳跃次数(大者优)、最后在河中的距离(大者优)、起始位置(大者优)、跳跃间隔(小者优)比较,问最好的方案是哪种。

    mark:无坑。直接写就好。

    #include <stdio.h>
    #include <string.h>
    
    
    int count, length;
    int rcount, rlength, ri, rj;
    int len;
    char str[100];
    
    
    int calc(int pos, int skip)
    {
        count = 0, length = pos;
        while (pos < len && str[pos] == '.')
        {
            pos += skip, count++;
            if (pos < len) length = pos;
        }
    }
    
    
    void update (int c, int l, int p, int k)
    {
        if (c < rcount) return ;
        if (c > rcount){
            rcount = c, rlength = l, ri = p, rj = k;
            return ;
        }
        if (l < rlength) return ;
        if (l > rlength){
            rcount = c, rlength = l, ri = p, rj = k;
            return ;
        }
        if (p < ri) return ;
        if (p > ri){
            rcount = c, rlength = l, ri = p, rj = k;
            return ;
        }
        if (k > rj) return;
        rcount = c, rlength = l, ri = p, rj = k;
    }
    
    
    int main()
    {
        int i, j;
        while (~scanf ("%s", str) &&strcmp(str, "END"))
        {
            rcount = rlength = ri = -1;
            rj = 0x0fffffff;
            len = strlen(str);
            for (i = 0; i < len; i++)
                for (j = 1; i + j <= len; j++)
                {
                    calc(i, j);
                    update(count, length, i, j);
                }
            printf ("%d %d
    ", ri, rj);
        }
        return 0;
    }
  • 相关阅读:
    mysql整理-常用sql语句
    WAMP中的mysql设置密码
    cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
    “laravel.log” could not be opened: failed to open stream
    RESTful API 设计指南
    理解RESTful架构
    PHP:API 接口规范完整版本
    php的api接口
    laravel5.5部署
    《面向对象程序设计》课程作业二
  • 原文地址:https://www.cnblogs.com/lzsz1212/p/4271465.html
Copyright © 2020-2023  润新知