codeforce Pashmak and Buses(dfs枚舉)

 1 /*
 2    題意:n個同學,k個車, 取旅游d天!
 3    要求所有的學生沒有兩個或者兩個以上的在同一輛車上共同帶d天! 輸出可行的方案!
 4    
 5    對于d行n列的矩陣,第i行第j列表示的是第i天第j個同學所在的車號!
 6    也就是保證所有行不全相同,即每一列都是不相同的!
 7    如果每一列都不相同就是表示第j個同學(第j列)在這d天中不會和其他同學(列)在這d天中 都在同一輛車中! 
 8    
 9    思路:對于每一列我們枚舉d天該學生所在的車號!它的下一列只保證有一個元素和它不同就行了!依次下去!
10    
11    還有一共有 d 個位置來填充車號(1....k)!每一個位置的數字都可以是(1...k)中的一個數字。
12    總共的枚舉次數為 k^d, 一共有n個同學,枚舉n次就可以了,所以有 k^d >=n才有解! 
13 */
14 #include<iostream>
15 #include<cstdio>
16 using namespace std;
17 
18 int ret[1005][1005];
19 int a[1005];
20 int n, k, d;
21 int cnt;
22 bool dfs(int cur){
23    if(cur>d){
24         ++cnt;
25         for(int i=1; i<=d; ++i)
26        ret[i][cnt]=a[i];
27         if(cnt==n)
28           return true;
29      return false;
30    }
31    for(int i=1; i<=k; ++i){
32        a[cur]=i;
33        if(dfs(cur+1))//強力剪枝....搜索完成后不在進行搜索! 
34           return true;
35    }
36    return false;
37 }
38 
39 int main(){
40    while(scanf("%d%d%d", &n, &k, &d)!=EOF){
41           cnt=0;
42           int kk=k;
43           bool flag=false;
44           for(int i=1; i<=d; ++i){//保證k^d>=n才可能有解! 
45                 if(kk>=n){
46               flag=true;
47               break;
48           }
49           kk*=k;
50        }
51        if(flag){
52            dfs(1);
53            for(int i=1; i<=d; ++i){
54               for(int j=1; j<=n; ++j){
55                  printf("%d", ret[i][j]);
56                  if(j!=n)  printf(" "); 
57               }
58               printf("\n");
59            }
60        }
61        else printf("-1\n");
62    }
63    return 0;
64 }

?

轉載于:https://www.cnblogs.com/hujunzheng/p/3916908.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531745.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531745.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531745.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

怎樣用mysql查詢測試_如何測試數據庫查詢優化器

我一直認為&#xff0c;查詢優化器(Query Optimizer&#xff0c;后面簡稱優化器)一直是數據庫領域 Top 級別的 hardcore 技術&#xff0c;自己也一直嘗試去深入理解&#xff0c;但每每看到 TiDB 代碼里面那一大坨 plan 的代碼&#xff0c;我就望而生畏了&#xff0c;就像是『可…

poj2060Taxi Cab Scheme(二分圖匹配)

1 /*2 題意&#xff1a; 出租車 有一個出發的時間&#xff0c;從點&#xff08;a, b&#xff09;到點&#xff08;c, d&#xff09;&#xff0c;時間為3 abs(a-c)abs(b-d)! 一輛車可以在運完一個乘客后運另一個乘客, 4 條件是此車要在預約開始前一分鐘之前到達出發地,…

二級java考什么_計算機二級Java考試資料!

Where領&#xff1f;基本要求1 . 掌握 Java 語言的特點&#xff64;實現機制和體系結構&#xff61;2 . 掌握 Java 語言中面向對象的特性&#xff61;3 . 掌握 Java 語言提供的數據類型和結構&#xff61;4 . 掌握 Java 語言編程的基本技術&#xff61;5 . 會編寫 Java 用戶界面…

二分匹配最大匹配的理解(附圖解)

定義一個PXP的有向圖中&#xff0c;路徑覆蓋就是在圖中找一些路徑&#xff0c;使之覆蓋了圖中的所有頂點&#xff0c;且任何一個頂點有且只有一條路徑與之關聯&#xff1b;&#xff08;如果把這些路徑中的每條路徑從它的起始點走到它的終點&#xff0c;那么恰好可以經過圖中的每…

poj 2226 Muddy Fields(合理建圖+二分匹配)

1 /*2 題意&#xff1a;用木板蓋住泥濘的地方&#xff0c;不能蓋住草。木板任意長&#xff01;可以重疊覆蓋&#xff01; *表示泥濘的地方&#xff0c;.表示草&#xff01;3 思路&#xff1a;4 首先讓我們回憶一下HDU 2119 Matrix這一道題&#xff0c;一個矩陣…

java驗證碼工具_java 驗證碼工具

importjavax.imageio.ImageIO;import java.awt.*;importjava.awt.image.BufferedImage;importjava.io.IOException;importjava.io.OutputStream;importjava.util.Random;public classCaptchaUtils {private final static Object lock newObject();/*** 圖片的寬度。*/private …

Floyd算法的理解

轉載于:https://www.cnblogs.com/hujunzheng/p/3919226.html

http get post java_java發送http的get、post請求實現代碼

Http請求類package wzh.Http;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;public class HttpRe…

java string的作用_淺談java String不可變的好處

一、java內部String類的實現&#xff1a;java 8&#xff1a;public final class Stringimplements java.io.Serializable, Comparable, CharSequence {/** The value is used for character storage. */private final char value[];}java 9 及之后&#xff1a;(使用coder標識了…

34988 Happy Reversal(二進制去取反)

1 /*2 題意&#xff1a;給多個二進制數&#xff0c;對某些數進行按位取反操作&#xff01;3 然后從中找到最大數和最小數&#xff0c;并輸出他們的差值&#xff01; 4 注意&#xff1a;所有的數都是整數&#xff0c;包括取反之后5 6 思路&#xff1a;一個n為二進…

java vim ide_Vim配置Java IDE

首先安裝vim (當然做java 開發要裝jdk 這個就不說了)emerge -av vim (gentoo 系統上安裝vim 的命令,你可以用rpm ,apt-get )給vim 安裝 javacomplete 插件http://www.vim.org/scripts/script.php?script_id1785 這個插件的作用是實現一部分代碼提示功能 比如你輸入 System…

java中線程存活和線程執行的問題!

1 /*2 下面的程序會出現下面的情況&#xff0c;當Thread-0&#xff0c; Thread-1&#xff0c; Thread-2都被wait的時候&#xff0c;可能會同時蘇醒3 Thread-0 put4 Thread-1 put5 Thread-2 put6 Thread-3 get//在此處&#xff0c;Thread-3拿到鎖之后&#xff0…

java中多線程模擬(多生產,多消費,Lock實現同步鎖,替代synchronized同步代碼塊)...

import java.util.concurrent.locks.*; class DuckMsg{int size;//烤鴨的大小String id;//烤鴨的廠家和標號DuckMsg(){}DuckMsg(int size, String id){this.sizesize;this.idid;}public String toString(){return id " 大小為:" size;} } class Duck{private int …

java encode 空格_javaWeb中URLEncoder.encode空格問題

近期開發一個在線坐席的功能。發現推送的消息中空格變成了 。查詢發現URLEncoder.encode的問題。曾經用的時候也沒注意過&#xff0c;解決的方法網上是對URLEncoder.encode的之后的字符串進行替換號&#xff0c;這樣的方式假設真的有號那也被替換了。所以應該在URLEncoder.enco…

poj 1386 Play on Words(有向圖歐拉回路)

1 /*2 題意&#xff1a;單詞拼接&#xff0c;前一個單詞的末尾字母和后一個單詞的開頭字母相同3 思路&#xff1a;將一個單詞的開頭和末尾單詞分別做兩個點并建一條有向邊&#xff01;然后判斷是否存在歐拉回路或者歐拉路 4 5 再次強調有向圖歐拉路或歐拉回路的判定方法&…

java web tomcat 實例_Java Web應用開發實例

[1&#xff0e;GIS的概念 1&#xff0e;1什么是gis 地理信息系統 (GIS, Geographic Information System) 是一種基于計算機的工具&#xff0c;它可以對在地球上存在的東西和發生的事件進行成圖和分析。 GI上次提到了EclipseTomcatLomboz Java Web開發環境的配置&#xff0c;可環…

poj2513Colored Sticks(無向圖的歐拉回路)

1 /*2 題意&#xff1a;將兩端涂有顏色的木棒連在一起&#xff0c;并且連接處的顏色相同&#xff01;3 思路&#xff1a;將每一個單詞看成一個節點&#xff0c;建立節點之間的無向圖&#xff01;判斷是否是歐拉回路或者是歐拉路4 5 并查集判通 奇度節點個數等于2或…

java java.lang.enum_源碼閱讀-java基礎-java.lang.Enum

1、引言枚舉類型是 JDK 5 之后引進的一種非常重要的引用類型&#xff0c;可以用來定義一系列枚舉常量。相比與常量(public static final定義)&#xff0c;在安全性、指意性、可讀性方面更勝一籌。另外它可以和switch case搭配使用。2、類定義實際上在使用關鍵字enum創建枚舉類型…

java中有關線程的題目

1&#xff0c;看一下下面程序錯誤發生在哪一行&#xff01; class Test implements Runnable{public void run(Thread t){} }2&#xff0c;輸出結果是什么&#xff1f; class Test{public static void main(String[] args){new Thread(new Runnable(){public void run(){System…

java 可逆的加密算法_java實現AES可逆加密算法

package com.hdu.encode;import javax.crypto.Cipher;import javax.crypto.spec.IvParameterSpec;import javax.crypto.spec.SecretKeySpec;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;/*** AES 是一種可逆加密算法&#xff0c;對用戶的敏感信息加密處理 對…