結果

問題 No.411 昇順昇順ソート
ユーザー tekitouktekitouk
提出日時 2016-08-24 01:39:47
言語 C90
(gcc 12.3.0)
結果
TLE  
実行時間 -
コード長 597 bytes
コンパイル時間 311 ms
コンパイル使用メモリ 20,480 KB
実行使用メモリ 10,496 KB
最終ジャッジ日時 2024-11-08 00:11:17
合計ジャッジ時間 4,306 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 24 TLE * 1 -- * 5
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:15:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   15 |         scanf("%d %d", &N, &K);
      |         ^~~~~~~~~~~~~~~~~~~~~~

ソースコード

diff #

#include <stdio.h>

int N, K;

int flag[21];

void dfs(int depth, int cnt,int pre);

typedef long long ll;

ll ans;

int main() {

	scanf("%d %d", &N, &K);

	flag[K] = 1;

	dfs(1, 0, K);

	printf("%lld\n", ans);

	return 0;
}
void dfs(int depth, int cnt,int pre) {
	if (cnt >= 2) { return; }

	if (depth == N) {
		if (cnt == 1) { ans++; }
		return;
	}

	int i;

	for (i = 1; i <= N; i++) {
		if (flag[i] == 0 ) {
			if (pre < i) {
				flag[i] = 1;
				dfs(depth+1,cnt,i);
				flag[i] = 0;
			}
			else if (pre > i && cnt==0) {
				flag[i] = 1;
				dfs(depth+1,1,i);
				flag[i] = 0;
			}
		}
	}

}
0