B. Phoenix and Puzzle

前言:无前言。


B. Phoenix and Puzzle

题目类型:规律,构造。

  解析:观察,可以用四个三角形的直角边组成一个基础正方体,也可以用两个三角形的斜边组成一个基础正方体,大正方体必定能由i*i个基础正方体得来,枚举即可,则大正方体有个三角形i.i.4或者i.i.2个三角形。
  code

#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
 
int t,n;
 
int cmp(int a,int b)
{
    
    
    return a>b;
}
 
int main()
{
    
    
    ios::sync_with_stdio(false);
    cin >> t ;
    while(t--){
    
    
        cin >> n ;
        int flag = 0;
        for(int i = 1 ; i*i*2 <= n ; ++i)
            if(i*i*2 == n || i*i*4 == n){
    
    flag = 1 ;cout << "YES" << endl ;break;}
        if(!flag)cout << "NO" << endl ;
    }
    return 0;
}

おすすめ

転載: blog.csdn.net/m0_45699242/article/details/116381985