zoukankan      html  css  js  c++  java
  • hd acm 1297

    问题:n个人排队,要求女生不能单独站,可以全是男生,可以全是女生。

    例子:n=7,FFFF,FFMM,FFFM,MFFF,MMFF,MMMM,MFFM(F代表女生,M代表男生)。

    代码:(来自 蓝飞技术部落格的神秘力量)

    #include<stdio.h>

    int main(){

      int n,i,j;

      int f[1001][101] = {0};

      f[0][1] = 1;

      f[1][1] = 1;

      f[2][1] = 2;

      f[3][1] = 4;

      for( i = 4; i < 1001; ++i){

        for( j = 1; j < 101; ++j){

          f[i][j] += f[i - 1][j] + f[i - 2][j] + f[i - 4][j];//数组的每一位相加

          f[i][j + 1] += f[i][j] / 10000;//超过4位的部分保存至数组下一位中

          f[i][j] %= 10000;//每位数组只保存其中4位

         }

      }

      while(scanf("%d", &n) != EOF){

          int k = 100;

        while(!f[n][k--]);//排除前面为空的数组

        printf("%d", f[n][k + 1]);//输出结果的前四位

        for(; k > 0; --k){

          printf("%04d", f[n][k]);//输出其余的所有四位数字,若数字小于四位,则前面用0填充

        }

         printf(" ");

      }

    return 0;

    }

    他没有用字符数组解决大数运算,而是将每个大数拆成一个个的小数存在整型数组中,收下在下的膝盖ToT。

  • 相关阅读:
    python3监控网站状态
    暴力屏蔽80访问失败的用户
    python3爬取中国药学科学数据
    python3发邮件脚本
    OOP AOP
    lambda
    jni
    Gradle史上最详细解析
    supersocket 遇到的Failed to initialize 和 log4net用法
    在c#中利用keep-alive处理socket网络异常断开的方法
  • 原文地址:https://www.cnblogs.com/clljs/p/7459002.html
Copyright © 2011-2022 走看看