Бодолт илгээх | Бүх бодолтууд | Шилдэг бодолтууд | Жагсаалт руу буцах |
USA0001 - Бэрснүүд |
NxN шатрын хөлөг дээр N ширхэг бэрсийг бүх мөр, багана, диагональ дээр нэгээс илүүгүй бэрс байхаар байрлуулах боломжийн тоог ол (хажуугийн болон гол диагоналиас гадна N-ээс бага урттай бүх диагоналиудыг тооцно).
Input
N бүхэл тоо (N<12)
Output
Эхний гурван байрлуулалтыг эхний гурван мөрөнд дүрсэлнэ (мөр тус бүрийн хувьд хэд дэх багананд бэрс байгааг илэрхийлэх тоонуудыг хооронд нь хоосон зайгаар тусгаарласнаар үүсэх N оронтой тоонуудаас эхний 3-ыг нь хэвлэнэ) Дөрөв дэх мөрөнд нийт боломжийн тоо байна
Example
Input: 7 Output: 1 3 5 7 2 4 6 1 4 7 3 6 2 5 1 5 2 6 3 7 4 40
Нэмсэн: | sw40 |
Огноо: | 2007-10-15 |
Хугацааны хязгаарлалт: | 1s |
Эх кодын хэмжээний хязгаарлалт: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Програмчлалын хэлүүд: | Бүгд дараах хэлүүдээс бусад: ADA95 ASM64 BASH BF C++ 4.3.2 C99 CLPS CLOJURE D ERL FSHARP GO ICON ICK JS-RHINO LUA NEM NICE NODEJS OCAML PERL6 PIKE PRLG-swi SCALA SCM guile SCM qobi SED ST TCL VB.NET WHITESPACE |
Эх сурвалж: | USACO |
hide comments
|
||||||
2024-01-20 13:14:27
I don't understand the question. |
||||||
2019-03-11 03:09:09
#include <bits/stdc++.h> using namespace std; int n; int res = 0; int pos[20]; bool check(int row, int col ){ int value; for(int j=1;j<row;j++){ value=pos[j]; if(value==col || abs(row-j)==abs(value-col)) return false; } return true; } void solve(int id) { if(id == n + 1) { res++; if(res <= 3) { for(int i = 1; i <= n; i++) printf("%d ", pos[i]); printf("\n"); } } for(int i = 1; i <= n; i++) { if(check(id, i)){ pos[id] = i; solve(id + 1); } } } int main() { scanf("%d", &n); solve(1); printf("%d", res); return 0; } |
||||||
2019-03-01 03:06:16
erguu malnuusd |
||||||
2018-11-11 05:43:13
#include<stdio.h> #include<stdlib.h> int pos[20],n,s=0,l=0; bool check(int i,int k) { int j,t; for(j=k-1;j>=1;j--) { t=pos[j]; if(t==i || abs(i-t)==abs(k-j)) return false; } return true; } void queen(int k) { if(k==n+1) {s++;l++; if(l<=3) {for(int i=1;i<=n;i++); ; } } else{for(int i=1;i<=n;i++) if(check(i,k)){pos[k]=i; queen(k+1); } } } int main() { scanf("%d",&n); queen(1); printf("%d",s); system("PAUSE"); } eenee chi eniig bagshid uzuul |
||||||
2018-04-02 14:56:39
Yr ni iimerhuu N<12 uyd heden if bichchuul zuer bdishd xD |
||||||
2018-04-02 14:03:48
Hint: Zugeer recursive |
||||||
2015-04-03 01:33:41 erdenebayr_d
Last edit: 2017-03-04 14:01:24 |
||||||
2015-01-05 17:16:37 G.Uuganbayar BKH
http://www.spoj.com/CSMS дээр бодлого бодоод илгээхээр алдаа гэж гарч ирээд байх юм. Яаж байгаа юм бол хэлж өгч тус болооч |
||||||
2015-01-02 16:50:15 тулга
Last edit: 2016-04-06 14:27:21 |
||||||
2014-12-04 08:45:32 Battuwshin
haha ene ch amarhan shuu |