排座位
来源:互联网 发布:养树的软件 编辑:程序博客网 时间:2024/05/17 03:20
要安排:3个A国人,3个B国人,3个C国人坐成一排。
要求不能使连续的3个人是同一个国籍。
求所有不同方案的总数?
参考代码:
#include<stdio.h>int a[10]={0};int b[9]={0};int number=0;int place(int t){int i,j,count1,count2,count3;for(i=0;i<=t-2;i++){count1=count2=count3=0;for(j=i;j<i+3;j++){if(b[j]<=3)count1++;if(b[j]>3&&b[j]<=6)count2++;if(b[j]>6&&b[j]<=9)count3++;}if(count1==3||count2==3||count3==3)return 0;} return 1;}void backtrack(int t){int i;if(t==9){//for(i=0;i<9;i++)//printf("%d\t",b[i]);//putchar('\n');number++;}else{for(i=1;i<10;i++){if(a[i]==0){a[i]++;b[t]=i;if(place(t))backtrack(t+1);a[i]--;b[t]=0;}}}}int main(){int i;for(i=0;i<10;i++)a[i]=0;backtrack(0);printf("%d\n",number);return 0;}
运行结果:
答案:283842
0 0
- 排座位
- 排座位
- 排座位
- 排座位
- 排座位
- 排座位
- Silverlight排座位
- L2-010. 排座位
- L2-010. 排座位
- L2-010. 排座位
- L2-010. 排座位
- L2-010. 排座位
- PTA 一 排座位
- L2-010. 排座位
- L2-010. 排座位
- L2-010. 排座位
- L2-010. 排座位
- L2-010. 排座位
- struts2之如何使用复杂的UI标签
- Web Crawling and Data Miniing with Apache Nutch(翻译+学习心得)_01
- Spring MVC 框架搭建及详解
- decode和encode
- 【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记37 TableView Delegate
- 排座位
- 12118 - Inspector's Dilemma
- LabView随机生成二维数组
- iOS 重写 isequal方法需重写hash方法
- Simulink载入图像并显示
- 证明2D-FFT能够拆分成两个1D-FFT
- SIMULINK:两个1D FFT构建2D-FFT
- 利用一维FFT查看正弦波频谱信息
- XILINX SYSTEM GENERATOR: THE FIRST PROJECT