设为首页 加入收藏

TOP

UVALive 4255 Guess
2015-07-20 17:47:44 来源: 作者: 【 】 浏览:1
Tags:UVALive 4255 Guess

题意:

给你半个矩阵 如果(i,j)的位置是'-' 则说明sum[i...j]<0 如果是'+' 说明sum>0 如果是'0' 说明sum=0 给出一种满足这个矩阵的序列 序列元素绝对值在10以内

思路:

很容易想到的是将sum[i...j]转化为sum[j]-sum[i-1] 即用前缀和来表示 那么题中的矩阵就可以转化成前缀和之间的大小比较 也就是说 我们可以通过将前缀和当成点 将大小关系作为边 求出满足题意的前缀和的拓扑序 那么只需要让拓扑序大的比小的大1 即可很容易的控制元素的绝对值

代码:

#include
  
   
#include
   
     #include
    
      using namespace std; #define N 15 int T,n; int in[N],sum[N],vis[N],qu[N],maz[N][N]; char str[N*N]; void topo() { int i,j,k,s,f; for(i=0,k=0,f=10;i<=n;k=0,f--) { for(j=0;j<=n;j++) { if(!vis[j]&&!in[j]) qu[k++]=j; } i+=k; for(j=0,s=k;j
     
      

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU2063过山车 下一篇UVA 1108 - Mining Your Own Busi..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python中文网 - 人生 (2025-12-24 18:49:47)
·【整整648集】这绝对 (2025-12-24 18:49:44)
·Python超详细一条龙 (2025-12-24 18:49:42)
·【超详细】JDK 下载 (2025-12-24 18:19:32)
·Java_百度百科 (2025-12-24 18:19:29)