Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 월별 카운트
- cocos2d-x
- 하이퍼 터미널
- Get
- PORTG
- mysql
- Java
- array
- 0x
- unalias
- Call
- C++
- 단축키
- function
- 점점변하는값
- SQL
- mathemetica
- Join
- 파일존재
- android studio
- Post
- 현재언어
- halliday
- is_array
- php
- solution
- selectc
- application.mk
- 강좌
- Avr
Archives
- Today
- Total
코딩도사의 코드정리
Little Bishops 본문
#include <iostream> #include <vector> #include <algorithm> #include <fstream> #include <limits> using namespace std; #ifdef mycom ifstream fin("input"); #else #define fin cin #endif char chess[100][100] = {0,}; int n, k; long long total = 0; bool possible(int y, int x) { int newy = y; int newx = x; for( ; newy >= 0 && newx >= 0; newy--, newx--) { if(chess[newy][newx] == true) { return false; } } newy = y; newx = x; for( ; newy < n && newx < n; newy++, newx++) { if(chess[newy][newx] == true) { return false; } } newy = y; newx = x; for( ; newy < n && newx >= 0; newy++, newx--) { if(chess[newy][newx] == true) { return false; } } newy = y; newx = x; for( ; newy >= 0 && newx < n; newy--, newx++) { if(chess[newy][newx] == true) { return false; } } return true; } inline bool sizecompare(int _y, int _x, int __y, int __x) { //_ 가 크면 true; if(_y != __y) return _y > __y; else if(_y == __y) { return _x > __x; } } void back(int selcount, int lasty, int lastx) { if(selcount == k) { total++; } else { for(int y=0; y<n; y++) { for(int x=0; x<n; x++) { if(sizecompare(y, x, lasty, lastx) && possible(y, x)) { chess[y][x] = true; back(selcount+1, y, x); chess[y][x] = false; } } } } } int main() { bool bfirst = true; while(fin >> n >> k && n != 0 && k != 0) { if(bfirst != true) { cout << endl; } bfirst = false; total = 0; back(0, -1, 0); cout << total; } return 0; }
'컴퓨터 이야기 > C++' 카테고리의 다른 글
strlen 따라잡기 in KLDP.ORG (0) | 2011.01.13 |
---|---|
Queue (0) | 2011.01.08 |
순열 (0) | 2011.01.07 |
부분집합 (0) | 2011.01.07 |
soccer UVA (0) | 2011.01.07 |