baekjoon 1193
https://www.acmicpc.net/problem/1193
あ、そうです.入出力が多すぎます.
まず問題にパターンを見つけなければなりません.
に板金をはる
単純モードは次のとおりです.
上の図を2次元配列と思わないで、それをずっと1次元配列に並べます.
[1/1] , [1/2] , [2/1] , [3/1] , [2/2] , [1/3] , [1/4], [2/3] ...
こうなります.よく見るとルールが見つかります.
矢印は下分子に増加し,分母は減少し,上分子は減少し,分母は増加した.
この矢印に番号を付けます
すなわち,偶数矢印は分子増加,分母減少,奇数矢印は分子減少,分母増加を示す.
変数iは、数番目の対角線であり、奇数、奇数を判別する.
変数xは、xのスコアを出力するための変数である.
変数countは、iの2番目の矢印の次元数で最も高い数です.
このように変数を捉え、偶数の矢印の中で2つを捉え、奇数の矢印の中で2つを捉えて演算すると、問題は解決します…!
大神を踊る
あ、そうです.入出力が多すぎます.
Idea
まず問題にパターンを見つけなければなりません.
に板金をはる
単純モードは次のとおりです.
上の図を2次元配列と思わないで、それをずっと1次元配列に並べます.
[1/1] , [1/2] , [2/1] , [3/1] , [2/2] , [1/3] , [1/4], [2/3] ...
こうなります.よく見るとルールが見つかります.
矢印は下分子に増加し,分母は減少し,上分子は減少し,分母は増加した.
この矢印に番号を付けます
すなわち,偶数矢印は分子増加,分母減少,奇数矢印は分子減少,分母増加を示す.
変数iは、数番目の対角線であり、奇数、奇数を判別する.
変数xは、xのスコアを出力するための変数である.
変数countは、iの2番目の矢印の次元数で最も高い数です.
このように変数を捉え、偶数の矢印の中で2つを捉え、奇数の矢印の中で2つを捉えて演算すると、問題は解決します…!
Code
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void) {
int x, i;
int count = 1;
scanf("%d", &x);
for (i = 1; x > count; ) {
count += ++i;
}
if (i % 2 == 0) {
printf("%d/%d", i - (count - x), 1 + (count - x));
}
else {
printf("%d/%d", 1 + (count - x), x - (count - i));
}
}
大神を踊る
Reference
この問題について(baekjoon 1193), 我々は、より多くの情報をここで見つけました https://velog.io/@p3pwp3p/baekjoon-1193テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol