Guess

题目传送:Guess

白书例题

注意拓扑排序时,,入度同一时候为0的前缀和须要赋值为同一个数(这个数能够随机取。由于前缀和是累加的,每个a的数值都仅仅和前缀和之差有关)。,由于此时能够看成他们的前缀和是相等的,不存在大小关系,,而存在大小关系的都连了一条有向边。

。假设此时不赋值为同一个数,,可能对于符号0不是正解。,从而产生错误的结果。。

AC代码:

#include <map>
#include <set>
#include <list>
#include <cmath>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <cctype>
#include <cstdio>
#include <string>
#include <vector>
#include <complex>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <sstream>
#include <utility>
#include <iostream>
#include <algorithm>
#include <functional>
#define LL long long
#define INF 0x7fffffff
using namespace std; int n; char str[1005];
int indeg[35];
int vis[35];
int mp[35][35]; int prefix[35]; void toposort() {
int d = 0, c = 0;
while(d <= n) {
memset(vis, 0, sizeof(vis));
for(int i = 0; i <= n; i ++) {
if(indeg[i] == 0) {
prefix[i] = c;
indeg[i] = -1;
vis[i] = 1;
d ++;
}
}
c ++; for(int i = 0; i <= n; i ++) {
if(vis[i]) {
for(int j = 0; j <= n; j ++) {
if(mp[i][j] == 1) {
indeg[j] --;
}
}
}
}
}
} int main() {
int T;
scanf("%d", &T);
while(T --) {
scanf("%d", &n);
scanf("%s", str); memset(indeg, 0, sizeof(indeg));
memset(mp, 0, sizeof(mp)); int c = 0;
for(int i = 1; i <= n; i ++) {
for(int j = i; j <= n; j ++) {
if(str[c] == '+') {
mp[i - 1][j] = 1;
indeg[j] ++;
}
else if(str[c] == '-') {
mp[j][i - 1] = 1;
indeg[i - 1] ++;
}
c ++;
}
}
toposort();
//for(int i = 0; i <= n; i ++) cout << prefix[i] << " "; cout << endl;
for(int i = 1; i < n; i ++) {
printf("%d ", prefix[i] - prefix[i - 1]);
}
printf("%d\n", prefix[n] - prefix[n - 1]);
}
return 0;
}

最新文章

  1. python(1)
  2. 0518 Scrum项目5.0
  3. MyBatis学习笔记(四) 注解
  4. ANDROID_MARS学习笔记_S02_014_GSON解析JSON串为对象
  5. 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker
  6. inet_ntoa将客户端的IP和port写入M…
  7. RMAN基础恢复测试
  8. tornado之子模板
  9. How do I copy SQL Azure database to my local development server?(如何将Azure 中的数据库备份到本地)
  10. UTC,BJT时间换算-java
  11. HDU4578 Transformation【线段树】
  12. [smf]论坛实现编辑器附件插入的插件
  13. 更快的方式实现 PHP 数组去重
  14. 【Golang 接口自动化05】使用yml管理自动化用例
  15. 集合(一)ArrayList
  16. vue基础篇(一)
  17. Java50道经典习题-程序9 求完数
  18. ctsc2009 移民站选址
  19. from 组件
  20. mac 上安装vue模版-D2 Admin

热门文章

  1. 关于delphi编程的网络文件夹复制的代码精要
  2. 关于asp.net中gridview的问题,关于footer,16aspx上下的英语交流网程序,管理员的添加和修改有问题
  3. 关于引用iframe的一点小说明
  4. BZOJ 1036 [ZJOI2008]树的统计Count (树链剖分)(线段树单点修改)
  5. Xcode_9_beta.xip 更新下载
  6. luogu P1468 派对灯 Party Lamps
  7. lua中self.__index = self是什么意思?
  8. Vue2.0进阶组件 短信倒计时组件
  9. [置顶] kubernetes资源对象--limitranges
  10. python学习心得