合理分配 “锁”资源
来源:互联网 发布:山东大学网络继续教育 编辑:程序博客网 时间:2024/06/10 15:09
问题描述:某部门要安装电子锁,要求在M个工作人员中每人发一张磁卡,卡上有解锁的磁条,为了确保安全,必须要N个人在一起才能将锁打开,输入M,N 求磁条最小方案。如:
样例输入:
5 3
样例输出:
0111000111
0011111010
1001011101
1100101011
1110110100
1代表能解开该处的磁条,0代表不能解开
今天晚上写的太累了,就不解释了,下次加上注释说明。直接上代码:
#include "iostream"#include "string"using namespace std;bool fun(int num,int col){int a = 0;while(num>0){if(num%2==1) a++;num /= 2;}if(a==col) return true;return false;}string change(int num,int length){string result;while(num>0){int a = num%2 + '0';result.insert(0,1,(char)a);num/=2;}int t = length - result.size();result.insert(0,t,'0');return result;}int main(){int m,n;cin>>m>>n;int lock,openLock,closeLock;int t1 = 1,t2 = 1;for(int i=0;i<n-1;i++){t1 *= (m-i);t2 *= (i+1);}lock = t1/t2;int *p = new int[lock];int col = m-n+1;int temp = 0;for(int i=0;i<lock;i++){temp++;while(!fun(temp,col)){temp++;}p[i] = temp;}string *ps = new string[lock];for(int i=0;i<lock;i++){ps[i] = change(p[i],m);}for(int i=0;i<m;i++){for(int j=0;j<lock;j++){cout<<ps[j][i];}cout<<endl;}}
2 0
- 合理分配 “锁”资源
- 服务器磁盘资源合理分配经验谈
- 第19回 测试资源的合理分配
- 第19回 测试资源的合理分配
- 第19回 测试资源的合理分配
- 如何进行合理的链接分配将资源用到…
- IP地址合理分配
- 主页权重合理分配
- Elasticsearch 合理内存分配
- 资源分配
- 不会合理分配时间,是一件坏事
- 上班族如何合理分配时间学习英语
- C#如何实现合理分配排序功能
- 每天八杯水的合理分配方法
- 优化ElasticSearch之合理分配索引分片
- Linux(CentOs) 内存查看及合理分配
- 优化ElasticSearch之合理分配索引分片
- 判断服务器资源使用是否合理
- 09--IO知识总结
- 在windows下面用笔记本建立一个wifi
- 多线程读写文件利器-ReentrantReadWriteLock
- 黑马程序员 学习日记(二)
- Java中String和int相互转换
- 合理分配 “锁”资源
- 【java并发】juc高级锁机制探讨
- JPA/Hibernate与Spring集成的事务分析
- RH442之Tuned优化方案
- PHP IPC函数,shm,shmop,message——共享内存函数,消息队列,与c/c++通讯
- PHP与C(或其它语言)通过消息队列进行通讯,完整代码
- 安卓开发学习路线
- HOJ 1487 Fleet Commander
- 黑马程序员——Java语法基础