[白俊]1074号
💻 C++ベース
https://www.acmicpc.net/problem/1074
表計算が難しい場合があります.
✔Nが入ってきたら、メッシュボードを4等分して、状況によって再帰が異なるようにする
✔rの座標とcの座標も異なる再帰関数のパラメータとして送信
https://www.acmicpc.net/problem/1074
表計算が難しい場合があります.
✔Nが入ってきたら、メッシュボードを4等分して、状況によって再帰が異なるようにする
✔rの座標とcの座標も異なる再帰関数のパラメータとして送信
#include <cstdio>
using namespace std;
int recur(int N, int r, int c)
{
if (N == 0)
{
return 0;
}
int half = 1<<(N - 1);
if (r < half && c < half)
return recur(N - 1, r, c);
else if (r < half && c >= half)
return half * half + recur(N - 1, r, c - half);
else if (r >= half && c < half)
return 2 * half * half + recur(N - 1, r - half, c);
else
return 3 * half * half + recur(N - 1, r - half, c - half);
}
int main()
{
int N, r, c;
scanf("%d %d %d", &N, &r, &c);
printf("%d", recur(N, r, c));
return 0;
}
Reference
この問題について([白俊]1074号), 我々は、より多くの情報をここで見つけました https://velog.io/@jieun_han/백준-1074번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol