zoukankan      html  css  js  c++  java
  • UVa 11040 (水题) Add bricks in the wall

    题意:

    45块石头如图排列,每块石头上的数等于下面支撑它的两数之和,求其余未表示的数。

    分析:

    首先来计算最下面一行的数,A71 = A81 + A82 = A91 + 2A92 + A93,变形得到A92 = (A71 - A91 - A93) / 2.

    以此类推,就能得到最下面一整行的数。有了这个“地基”以后,所有的数就都能算出来了。

     1 #include <cstdio>
     2 
     3 int a[10][10];
     4 
     5 int main()
     6 {
     7     //freopen("in.txt", "r", stdin);
     8     int T;
     9     scanf("%d", &T);
    10     while(T--)
    11     {
    12         for(int i = 1; i <= 9; i += 2)
    13             for(int j = 1; j <= i; j += 2)
    14                 scanf("%d", &a[i][j]);
    15         for(int i = 2; i <= 8; i += 2)
    16             a[9][i] = (a[7][i-1]-a[9][i-1]-a[9][i+1])/2;
    17         for(int i = 8; i >= 1; --i)
    18         {
    19             if((i & 1) == 0)
    20             {
    21                 for(int j = 1; j <= i; ++j)
    22                     a[i][j] = a[i+1][j] + a[i+1][j+1];
    23             }
    24             else
    25             {
    26                 for(int j = 2; j <= i; j += 2)
    27                     a[i][j] = a[i+1][j] + a[i+1][j+1];
    28             }
    29         }
    30 
    31         for(int i = 1; i <= 9; ++i)
    32         {
    33             for(int j = 1; j < i; ++j)
    34                 printf("%d ", a[i][j]);
    35             printf("%d
    ", a[i][i]);
    36         }
    37 
    38     }
    39 
    40     return 0;
    41 }
    代码君
  • 相关阅读:
    JavaScript 正则表达式中的特殊字符
    framework —— throttles(访问频率控制)
    framework —— permission(权限)
    framework —— auth认证
    算法——基础知识
    算法——解迷宫
    算法
    爬虫 ==》 同步调用
    asyncio模块
    Requests模块
  • 原文地址:https://www.cnblogs.com/AOQNRMGYXLMV/p/4200502.html
Copyright © 2011-2022 走看看