正方形のボード上の勝利の正方形のスコアを見つけるためのC++コード
次数nxnの正方形のボードがあるとします。アマルとビマルはゲームをしています。ゲーム中、彼らはいくつかの未知のルールによってボードの正方形に数字を書きます。現在、ボードはゲーム終了後に要素を表示しています。誰が勝ったかを理解するには、勝った正方形の数を数える必要があります。特定のマスが勝っています。次のことを行う必要があります。この列を共有する正方形のすべての数値の合計を見つけ、この行を共有する正方形のすべての数値の合計を個別に計算します。列番号の合計が行番号の合計よりも厳密に大きい場合、正方形は勝者の正方形です。
したがって、入力が次のような場合
5 | 7 | 8 | 4 |
9 | 5 | 3 | 2 |
1 | 6 | 6 | 4 |
9 | 5 | 7 | 3 |
なので、出力は6になります。
5 | 7 | 8 | 4 |
9 | 5 | 3 | 2 |
1 | 6 | 6 | 4 |
9 | 5 | 7 | 3 |
ステップ
これを解決するには、次の手順に従います-
t := 0 n := size of M for initialize i := 0, when i <= n - 1, update (increase i by 1), do: for initialize j := 0, when j <= n - 1, update (increase j by 1), do: s := 0 l := 0 for initialize k := 0, when k <= n - 1, update (increase k by 1), do: s := s + M[i, k] l := l + M[k, j] if l > s, then: (increase t by 1) return t
例
理解を深めるために、次の実装を見てみましょう-
#include <bits/stdc++.h> using namespace std; int solve(vector<vector<int>> M){ int t = 0; int n = M.size(); for (int i = 0; i <= n - 1; i++) for (int j = 0; j <= n - 1; j++){ int s = 0; int l = 0; for (int k = 0; k <= n - 1; k++){ s += M[i][k]; l += M[k][j]; } if (l > s) t++; } return t; } int main(){ vector<vector<int>> matrix = { { 5, 7, 8, 4 }, { 9, 5, 3, 2 }, { 1, 6, 6, 4 }, { 9, 5, 7, 3 } }; cout << solve(matrix) << endl; }
入力
{ { 5, 7, 8, 4 }, { 9, 5, 3, 2 }, { 1, 6, 6, 4 }, { 9, 5, 7, 3 } }
出力
6
-
C++を使用してNth_Non_Square_Numberを検索します
2、3、5、7、8などのどの数の二乗でもない数については誰もが知っています。非二乗数はN番目にあり、すべての数を知ることは不可能です。したがって、この記事では、平方フリー数または非平方数についてのすべてと、C++でN番目の非平方数を見つける方法について説明します。 N番目の非平方数 整数の平方である場合、その数は完全な平方であると言われます。完全な平方数の例は次のとおりです- 1 is square of 1 4 is square of 2 9 is square of 3 16 is square of 4 25 is square of 5 整数の二乗でない場合、その数は非二乗数であ
-
C++のマトリックスで正方形の最大辺の長さを見つける
この問題では、サイズnの2次元行列mat[][]が与えられます。nは奇数です。私たちのタスクは、マトリックス内の正方形の最大辺の長さを見つけることです。 問題の説明 −周囲の値が同じで、行列と同じ中心を共有する正方行列の長さを見つける必要があります。 問題を理解するために例を見てみましょう 入力 mat[][] = { {2, 4, 6, 6, 5}, {1, 7, 7, 7, 3}, {5, 7, 0, 7, 1}, {3, 7, 7, 7, 1}, {2,