微软2015实习第二题Professor Q's Software
来源:互联网 发布:市川海老藏 知乎 编辑:程序博客网 时间:2024/06/15 22:52
<img src="http://img.blog.csdn.net/20150403222956675?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHFsZW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150403223015333?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHFsZW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /><img src="http://img.blog.csdn.net/20150403222953387?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHFsZW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
#include<stdio.h>#include<string.h>#include<math.h>#include<cstdlib>#include<stack>using namespace std;struct module{int start_signal;int K;int * gen_signal;int time;bool flag;};bool check(int tem,module * my_module,int N){for(int i = 0;i < N;++i){if(my_module[i].start_signal == tem)return true;}return false;}int main(){ int T; scanf("%d",&T); while(T--) { int N,M; scanf("%d %d",&N,&M); int *init = new int[M]; for(int i = 0;i < M;++i) scanf("%d",&init[i]); module * my_module = new module[N]; for(int i = 0;i < N;++i) { scanf("%d %d",&my_module[i].start_signal,&my_module[i].K); if(my_module[i].K != 0)my_module[i].gen_signal = new int[my_module[i].K]; for(int j = 0;j<my_module[i].K;++j) scanf("%d",&my_module[i].gen_signal[j]); my_module[i].time = 0; } stack<int> singal; for(int i = 0 ;i < M;++i) { for(int j = 0; j < N;++j) { if(my_module[j].start_signal == init[i]) { my_module[j].time++; for(int k =0;k <my_module[j].K;++k) singal.push(my_module[j].gen_signal[k]); } } } while(!singal.empty()) { int test = singal.top(); int flag = false; for(int i = 0;i < N;++i) { my_module[i].flag = false; if(my_module[i].start_signal == singal.top()) { my_module[i].time++; my_module[i].flag = true; flag = true; } } int flag1= false; for(int i = 0;i < N;++i) { if(my_module[i].flag == true) { if(flag1 ==false) { singal.pop(); flag1 = true; } for(int j = 0;j <my_module[i].K;++j) singal.push(my_module[i].gen_signal[j]); int test1 = singal.top(); } } if(flag==false)singal.pop(); } for(int i = 0;i < N;++i) { printf("%d ",my_module[i].time); } printf("\n"); delete []init; delete []my_module; } getchar(); getchar(); getchar(); return 0;}
代码自己写的都感觉有点乱。。。测试数据是通过了的 不知道能不能过
题目
0 0
- 微软2015实习第二题Professor Q's Software
- 2016微软实习在线笔试题 - Professor Q's Software
- 微软2016校园招聘在线笔试 - 第二题 Professor Q's Software
- 微软笔试题 HihoCoder#1136: Professor Q's Software 题解
- 微软笔试-Professor Q's Software
- 微软线上笔试-2015-4-3(1,2题) Magic Box && Professor Q's Software
- Professor Q's Software Java版本
- hihocoder #1136 : Professor Q's Software
- Professor Q's Software---拓扑排序
- 题目2 : Professor Q's Software【微软2016校园招聘在线笔试】
- hihoCoder 1136 Professor Q's Software 微软2016校园招聘在线笔试
- 微软2016校园招聘笔试(第一场) Professor Q's Software & Recruitment
- HiHocoder #1136 : Professor Q's Software 微软2016校园招聘在线笔试 【拓扑排序+DP】
- hihocoder #1136 : Professor Q's Software 数组解法
- Professor Q's Software——邻接表实现拓扑排序
- 微软实习笔试题
- 微软暑期实习笔试题
- A. Professor GukiZ's Robot
- ANSI/Unicode 字符集分析
- 【BZOJ 2823】 [AHOI2012]信号塔
- QString 和stl::string之间的转换
- hdu 1175 连连看
- 33-语言入门-33-盗梦空间
- 微软2015实习第二题Professor Q's Software
- hdu 1556 Color the ball 树状数组
- [Leetcode] 101. Symmetric Tree
- C - A Simple Problem with Integers POJ 3468(线段树+延迟标记)
- 【hadoop】 2007-远程debug
- Sky Code - POJ 3904 容斥原理
- 用单例封装Core Data中的MO
- 解决win8.1无线网络受限问题
- 最近的一些思考,感悟和理解。