关闭

UVa 839 Not so Mobile

107人阅读 评论(0) 收藏 举报

这里引用传参确实很奇妙
在判断底下的是否平衡时同时得到了上一块的质量

#include <cstdio>
#include <iostream>
using namespace std;
bool isBalanced(int &ww) {
  int w[2];
  int d[2];
  bool b[2] = {true, true};
  scanf("%d%d%d%d", &w[0], &d[0], &w[1], &d[1]);
  if (w[0] == 0) b[0] = isBalanced(w[0]);
  if (w[1] == 0) b[1] = isBalanced(w[1]);
  ww = w[0] + w[1];
  return b[0] && b[1] && (w[0] * d[0] == w[1] * d[1]);
}
void solve() {
  int w;
  if (isBalanced(w)) {
    puts("YES");
  }else {
    puts("NO");
  }
}
int main() {
//  freopen("input" , "r", stdin);
  int t;
  scanf("%d", &t);
  solve();
  for (int i = 1; i < t; i++) {
    putchar('\n');
    solve();
  }
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:75992次
    • 积分:4260
    • 等级:
    • 排名:第7114名
    • 原创:385篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条