最近在写Web大作业和期末复习,可能还会有一段时间不会更新blog了

1463A. Dungeon

题意:有3个血量为a,b,c的敌人,现在你每7发子弹能进行一次范围AOE攻击(即一次能集中三人),每次子弹必中并扣一点生命值,请问是否能在最后一发子弹同时击倒3个敌人

思路:很简单,由于每7发会进行范围攻击,则说明如果敌人的血量和为9的倍数,又或者血量仅一人分担时输出”YES“

  1. void solve() {
  2. ll a, b, c;
  3. cin >> a >> b >> c;
  4. ll s = a + b + c;
  5. puts((s % 9 || s / 9 > a || s / 9 > b || s / 9 > c) ? "NO" : "YES");
  6. }

1463B. Find The Array

  1. void solve() {
  2. ll n, x, b;
  3. cin >> n;
  4. while (n--) {
  5. cin >> x, b = 0;
  6. while (1 << b <= x)
  7. b++;
  8. cout << (1 << (b - 1)) << " ";
  9. }
  10. cout << endl;
  11. }