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。

  • 相关阅读:
    归并排序
    [转]html5 Canvas画图教程(1)—画图的基本常识
    [转]浏览器工作原理
    [转]Web开发者和设计师必须要知道的 iOS 8 十个变化
    mobile web开发(1) html页面头部基本设置
    差点难产的HTML5
    感觉离开了好久
    Java----区别
    MySQL---sql语句优化
    MySQL---数据库优化
  • 原文地址:https://www.cnblogs.com/clljs/p/7459002.html
Copyright © 2011-2022 走看看