2020 CCPC-Wannaflyウィンターキャンプ3日目Div.1&2(バルーンブラック)(式ソリューション)
制限時間:C / C ++ 1秒、2秒言語、他の
スペースの制限:C / C ++ 262144K、他の言語524288K
64ビットIOフォーマット:LLDの%
タイトル説明
そこ小さなDの前で
黒の風船。
最初の仮説
高い黒バルーンは正の整数であります
、小Dは現在、高さの異なる任意の二つのバルーンことを知っている、あなたは、各バルーン黒いものの特定の高さを復元するために小さなDを助けますか?
説明を入力します。
整数の最初の行
次
の行
整数で、最初の
ライン
整数を表し、
風船や
高さとバルーン。(とき
この数がある場合には
)。
、入力のそれぞれは、の数を超えません
。唯一の答えは、そのデータを確保することです。
出力説明:
行
答えを表す整数。
唯一の答えを保証します。
例1
エントリー
5
0 3 4 5 6
3 0 5 6 7
4 5 0 7 8
5 6 7 0 9
6 7 8 9 0
輸出
1 2 3 4 5
問題の解決策
方程式を解くが、独創的な解決策がありますするには:
最初に使用する前に、第一項の3つの式、最初の方程式との接触に関連する項目の再利用。
コード
#include<stdio.h>
int main() {
int n, i, j, x, h1;
scanf("%d", &n);
int a[1001][1001];
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
scanf("%d", &a[i][j]);
x = a[2][3] - a[1][2];
h1 = (a[1][3] - x) / 2;
printf("%d ", h1);
for (i = 2; i <= n; i++)
printf("%d ", a[1][i] - h1);
return 0;
}