Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
107780 | 梁乃元 | 跳棋的挑战 | C++ | 解答错误 | 87 | 325 MS | 248 KB | 867 | 2023-10-28 09:53:02 |
# include <iostream> using namespace std ; int cnt = 0 , num ; bool isc [15] = { true , true , true , true , true , true , true , true , true , true , true , true , true , true , true } ; bool b [114] , c [114] , d [114] ; int pl [10] ; void dfs ( int k ) { if ( k > num ) { if ( cnt < 3 ) { for ( int i = 1 ; i <= num ; i ++ ) { cout << pl [i] ; if ( i < num ) { cout << ' ' ; } } cout << endl ; } cnt ++ ; } for ( int i = 1 ; i <= num ; i ++ ) { if ( b [i] == 0 && c [i + k] == 0 && d [k - i + 1] == 0 ) { b [i] = 1 ; c [i + k] = 1 ; d [k - i + 1] = 1 ; pl [k] = i ; dfs ( k + 1 ) ; pl [k] = 0 ; b [i] = 0 ; c [i + k] = 0 ; d [k - i + 1] = 0 ; } } return ; } int main ( ) { cin >> num ; dfs ( 1 ) ; cout << cnt << endl ; return 0 ; }