zoukankan      html  css  js  c++  java
  • HDU 1010,2013,2018

    //Made by syx
    //Time: 2010年7月28日 16:55:39
    //1010 Tempter of the Bone
    //2013 蟠桃记
    //2018 母牛的故事
    //

    //
    //
    //

    //void qsort( void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) );

    //功能: 对buf 指向的数据(包含num 项,每项的大小为size)进行快速排序。如果函数compare 的第一个参数小于第二个参数,
    //返回负值;如果等于返回零值;如果大于返回正值。函数对buf 指向的数据按升序排序

    /*
    //2018 母牛的故事
    //递推:
    //首先,假定我们要求第n年有多少只母牛,可以分两部分进行:
    //一、在三年前,即n-3出生的母牛,必定都会在第n年生出牛来(之所以是三年前而不是四年前是因为一开始就算第1年而不是第0年),所以第n年的牛数必定有n-3年前的牛数的两倍以上
    //二、算掉那两倍以上的牛数,剩下的牛是那些呢?就是在第n-3年到第n年之间所生的牛数了,也就是第n-1年的牛数减去第n-3年的牛数。
    //得出递推式

    //当n > 4 时f(n) = f(n-3)*2 + f(n-1) - f(n-3) = f(n-1) + f(n-3).     否则f(n) = n

    //Accepted 2018 0MS 244K 222 B C++ syx_China
    #include <iostream>
    using namespace std;
    int main()
    {
    int f[55] = {1,2,3,4,6};
    int i = 0;
    for(i=5; i<55; ++i)
    f[i] = f[i-1] + f[i-3];
    int n;
    while(cin>>n&&n!=0)
    {
    cout<<f[n-1]<<endl;
    }
    return 0;
    }

    */
    /*

    //2018 母牛的故事
    //Accepted 2018 0MS 244K 263 B C++ syx_China
    #include <iostream>
    using namespace std;
    int getCow(int n)
    {
    if(n<=3)
    return n;
    else
    {
    return getCow(n-1) + getCow(n-3);
    }
    }

    int main()
    {
    int n;
    while(cin>>n&&n!=0)
    {
    int result = getCow(n);
    cout<<result<<endl;
    }
    return 0;
    }



    */
    /*
    //2013 蟠桃记

    #include <iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
    int n;
    while(cin>>n)
    {
    int reuslt = (3*pow(2,n-1) - 2);
    cout<<reuslt<<endl;
    }
    return 0;
    }



    */
    /*
    //2013 蟠桃记
    #include <iostream>
    using namespace std;
    int main()
    {
    int n;
    while(cin>>n)
    {
       int result = 1;
       while(--n)
       {
        result = 2*(result + 1);
       }
       cout<<result<<endl;
    }
    return 0;
    }
    */
    /*
    //1010 Tempter of the Bone
    #include <iostream>
    using namespace std;

    int flag = 0;//记录是否已经找到一条出路
    int iDoor,jDoor;//记录门的位置

    void mainFuntion(char (*b)[7],int iDog,int jDog,int T,int N,int M)
    {
    if(flag) return;

    if(iDog>=1 && iDog<=N && jDog>=1 && jDog<=M)//判断位置是否在给定的范围内
    {
       if(b[iDog][jDog] == 'X') return ;
       if(T == 0)//如果这是第T秒
       {
        if(b[iDog][jDog] == 'D')//且当前位置是D
        {
         flag++;
         return ;
        }
       }
       else if(abs(iDog-jDog)%2==abs(iDoor-jDoor)%2&&abs(T)%2==0||abs(iDog-jDog)%2!=abs(iDoor-jDoor)&&abs(T)%2==1)
       {
        b[iDog][jDog] = 'X';//当前位置已走过,向四周搜索!
        mainFuntion(b,iDog+1,jDog,T-1,N,M);

        mainFuntion(b,iDog-1,jDog,T-1,N,M);

        mainFuntion(b,iDog,jDog+1,T-1,N,M);

        mainFuntion(b,iDog,jDog-1,T-1,N,M);
        b[iDog][jDog] = '.';
       }
    }
    return;
    }

    int main()
    {
    char b[7][7] = {0};
    int M,N,T;
    while(cin>>N>>M>>T && (M && N && T))
    {
       int num = 0;//记录可走木板数
       int i , j;
       int iDog,jDog;
       //int iDoor,jDoor;
       iDoor = 0,jDoor = 0;
      
       for(i=1; i<=N; ++i)
        for(j=1; j<=M; ++j)
        {
         cin>>b[i][j];
         if(b[i][j] == 'S')
         {
          iDog = i;
          jDog = j;
         }
         else if(b[i][j] == 'D')
         {
          iDoor = i;
          jDoor = j;
         }
         else
          num++;
        }

       //if(num>=T)
       //if(abs(jDog-iDog)%2==abs(jDoor-iDoor)%2&&T%2==0||abs(jDog-iDog)%2!=abs(jDoor-iDoor)&&T%2==1||M*N-num>=T)
       if( ((abs(jDoor - jDog) + abs(iDoor - iDog)) % 2 == T % 2) && (num>=T))
        mainFuntion(b,iDog,jDog,T,N,M);

      
       if(flag) cout<<"YES"<<endl;
       else cout<<"NO"<<endl;
       //cout<<flag<<endl;
      
       flag = 0;
      
    }
    return 0;
    }
    */

    作者:BuildNewApp
    出处:http://syxchina.cnblogs.comBuildNewApp.com
    本文版权归作者、博客园和百度空间共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则作者会诅咒你的。
    如果您阅读了我的文章并觉得有价值请点击此处,谢谢您的肯定1。
  • 相关阅读:
    register变量
    register变量
    const和volatile是否可以同时修饰一个变量?有什么特殊含义?
    关于多态性和虚函数的理解
    static全局变量与普通的全局变量有什么区别
    《c专家编程》学习笔记
    正则表达式入门学习
    mvc ActionResult
    ASP.NET MVC:通过 FileResult 向 浏览器 发送文件(传)
    Asp.net mvc 中的HttpContext
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197572.html
Copyright © 2011-2022 走看看