[C++]白俊2309:7人の小人


#include <iostream>
#include <algorithm> // sort
using namespace std;

int arr[9] = {0};
int sum;
int main(int argc, char** argv){
  for(int i = 0; i < 9; i++){
    scanf("%d", &arr[i]);
    sum += arr[i];
  }

  sort(arr, arr + 9);

  int ans = sum - 100;

  for(int i = 0; i < 9; i++){ // 브루트포스
    for(int j = i; j < 9; j++){
      if(arr[i] + arr[j] == ans){
        for(int k = 0; k < 9; k++){
          if(k != i && k != j){
            printf("%d\n", arr[k]);
          }
        }
        return 0; // 하나만 출력
      }
    }
  }

  return 0;
}
  • は、必ずしもベクトルで並べ替える必要はありません.sortを書くたびにベクトルだけで配列を並べ替えることができるかどうかを見てみましたが、可能です.よく使う
  • Brootforce練習用問題
    9つのうち7つは全部探すのが難しいと思います.したがって,合が100の場合を見つけるためには,逆に2つ抜き,100の場合を見つける.
    Brootforceアルゴリズムを使用して、2つのforゲートを返し、2つを探します.2つの減算が100の場合、for文を迂回し、最初に見つかった2つの数字を除いて出力されます(整列しているため).
    正解が多い場合は、1つだけ印刷すれば良いので、出力終了後に終了します.