hdu5386(暴力)
题意:
给出两个n*n的矩阵,一个作为初始矩阵。一个作为目标矩阵,给出m个操作,操作有两种,一种是“L,x,y”。代表我们要把x这一行赋成y,还有一种是“H,x,y”,代表要把x这一列赋成y。问我们怎样安排这些操作才干把初始矩阵转化成目标矩阵。输出方案。special judge
思路:
首先明白一点,初始矩阵是没实用的~,依照题解的说法。我们能够按顺序枚举全部操作,假设是L操作,我们就在目标矩阵中找一行都是y的。把这一行都更成0,同一时候把答案更新,如此往复,直至我们得到一种方案。
附上题解代码(绍兴一中的):
#include <stdio.h>
#include <stdlib.h>
using namespace std; int T,n,m,t,i,j,k,l;
int a[105][105],b[505],c[505],ans[505];
char opt[505],ch; int main()
{
scanf("%d",&T);
for(;T;--T)
{
scanf("%d%d",&n,&m);t=0;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
scanf("%d",&a[i][j]);
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
scanf("%d",&a[i][j]);
for(i=1;i<=m;++i)
{
for(ch=getchar();ch!='H'&&ch!='L';ch=getchar());
opt[i]=ch;scanf("%d%d",&b[i],&c[i]);
}
for(;t<m;)
{
for(i=1;i<=m;++i)
if(b[i])
{
k=b[i];
if(opt[i]=='L')
{
for(j=1;j<=n;++j)
if(a[j][k]&&a[j][k]!=c[i])
break;
if(j>n)
{
ans[++t]=i;b[i]=0;
for(j=1;j<=n;++j)a[j][k]=0;
}
}
else
{
for(j=1;j<=n;++j)
if(a[k][j]&&a[k][j]!=c[i])
break;
if(j>n)
{
ans[++t]=i;b[i]=0;
for(j=1;j<=n;++j)a[k][j]=0;
}
}
}
}
for(i=m;i>=1;--i)printf("%d ",ans[i]);
printf("\n");
}
}
hdu5386(暴力)的更多相关文章
- 2015 多校联赛 ——HDU5386(暴力)
Sample Input 1 3 5 2 2 1 2 3 3 2 1 3 3 3 3 3 3 3 3 3 3 H 2 3 L 2 2 H 3 3 H 1 3 L 2 3 Sample Output ...
- zone.js - 暴力之美
在ng2的开发过程中,Angular团队为我们带来了一个新的库 – zone.js.zone.js的设计灵感来源于Dart语言,它描述JavaScript执行过程的上下文,可以在异步任务之间进行持久性 ...
- [bzoj3123][sdoi2013森林] (树上主席树+lca+并查集启发式合并+暴力重构森林)
Description Input 第一行包含一个正整数testcase,表示当前测试数据的测试点编号.保证1≤testcase≤20. 第二行包含三个整数N,M,T,分别表示节点数.初始边数.操作数 ...
- HDU 5944 Fxx and string(暴力/枚举)
传送门 Fxx and string Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Othe ...
- 1250 Super Fast Fourier Transform(湘潭邀请赛 暴力 思维)
湘潭邀请赛的一题,名字叫"超级FFT"最终暴力就行,还是思维不够灵活,要吸取教训. 由于每组数据总量只有1e5这个级别,和不超过1e6,故先预处理再暴力即可. #include&l ...
- fragment+viepager 的简单暴力的切换方式
这里是自定义了一个方法来获取viewpager private static ViewPager viewPager; public static ViewPager getMyViewPager() ...
- ACM: Gym 101047M Removing coins in Kem Kadrãn - 暴力
Gym 101047M Removing coins in Kem Kadrãn Time Limit:2000MS Memory Limit:65536KB 64bit IO Fo ...
- uoj98未来程序改 纯暴力不要想了
暴力模拟A了,数据还是良(shui)心(shui)的 90分的地方卡了半天最后发现一个局部变量被我手抖写到全局去了,,, 心碎*∞ 没什么好解释的,其实只要写完表达式求值(带函数和变量的),然后处理一 ...
- 开源服务专题之------ssh防止暴力破解及fail2ban的使用方法
15年出现的JAVA反序列化漏洞,另一个是redis配置不当导致机器入侵.只要redis是用root启动的并且未授权的话,就可以通过set方式直接写入一个authorized_keys到系统的/roo ...
随机推荐
- 0-Android系统各层中LOG的使用
Android系统各层中LOG的使用 , ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */ ANDROID_LOG_VERBOSE, ANDR ...
- Codeforces Beta Round #95 (Div. 2) C 组合数学
C. The World is a Theatre time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- javaScript 笔记(5) --- jQuery(上)
这节整理整理 iquery.js 相关的内容... 目录 --- jQuery 语法 --- 文档就绪事件 --- jQuery 选择器 --- jQuery 事件 --- jQuery 效果 jQu ...
- python(5)-- 函数
python 函数 定义:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 使用好处:函数能提高应用的模块性,和代码的重复利用率. 分类:(1)python 内建函数:pytho ...
- Eclipse与MyEclipse增加主题
下载所需文件 下载地址:https://pan.baidu.com/s/1slq9lFn 如果eclipse和myeclipse里的MyEclipse 10\dropins存在features和plu ...
- Codevs 1643 & 3027 线段覆盖
1643 题意 给定若干条线段,问最多可以安排多少条使得没有重合. 思路 贪心,同安排schedule,按结束时间早的排序. Code #include <bits/stdc++.h> # ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---30
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:
- C语言中的基础知识变量探讨
C语言中的变量是编程的基础,主要有四个要素:存储类型.存储大小.存储名称和存储地址. 一.变量的要素: 1.存储类型:主要表明名变量存储的特征,主要有auto.extern.static和regist ...
- linux内核情景分析之锁机制
/* * These are the generic versions of the spinlocks and read-write * locks.. *///自旋锁加锁,irqsave表示把标志 ...
- [wxPython学习]wx.CallAfter和wx.FutureCall
[wxPython学习]wx.CallAfter和wx.FutureCall 今天才学到的两个wxPython中的函数:wx.CallAfter和wx.FutureCall.这是两个无关的函数,但又多 ...