Summer training #6
A:水.看0多还是1多就行
B:模拟二进制运算 ,,卡了好久 不应该
#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
string a,b,c;
int num[][];
int will[][];
int alen;
int blen;
int clen;
void print()
{
for(int i=;i>=;i--)
cout<<num[][i];
cout<<endl;
for(int i=;i>=;i--)
cout<<num[][i];
cout<<endl;
for(int i=;i>=;i--)
cout<<num[][i];
cout<<endl;
}
void init()
{
for(int i=;i<=alen;i++)
num[][i]=a[alen-i]-'';
for(int i=;i<=blen;i++)
num[][i]=b[blen-i]-'';
for(int i=;i<=clen;i++)
num[][i]=c[clen-i]-'';
}
int doit(int a,int b,int c)
{
int ans1;
int ans2=;
int flag=;
for(int i=;i<=;i++)
{
ans1=num[a][i]+num[b][i]+ans2;
ans2=ans1/;
ans1%=;
if(ans1!=num[c][i])
{
flag=;
break;
}
}
return flag;
}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
cin >> a >> b >> c;
alen=a.size();
blen=b.size();
clen=c.size();
for(int i=;i<=;i++)
mem(num[i],);
init();
//print();
int flag=;
for(int i=;i<=;i++)
for(int j=;j<=;j++)
for(int w=;w<=;w++)
{
//cout<<i<<j<<w<<":";
//cout<<doit(i,j,w)<<endl;
if(doit(i,j,w)==)
{
flag=;
}
}
if(flag==)
cout<<"YES";
else
cout<<"NO";
return ;
}
E:按照要求模拟 计算不符合题中要求的个数
#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
int table[][];
int num[][];//
int ans[];
void doit(int x)
{
for(int i=;i<=;i++)
ans[i]=num[x][i];
}
int check1(int x)
{
for(int i=;i<=;i++)
for(int j=;j<=;j++)
{
doit(x);
if(ans[i]==j)
continue;
ans[i]=j;
table[table[table[ans[]][ans[]]][ans[]]][ans[]]
if(anser==)
return ;
}
return ;
}
int check2(int x)
{
for(int i=;i<=;i++)
{
doit(x);
if(ans[i]==ans[i+])
continue;
swap(ans[i],ans[i+]);
table[table[table[ans[]][ans[]]][ans[]]][ans[]]
if(anser==)
return ;
}
return ;
}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
for(int i=;i<;i++)
for(int j=;j<;j++)
cin>>table[i][j];
for(int i=;i<;i++)
{
int now=i;
for(int j=;j>;j--)
{
num[i][j]=now%;
now/=;
}
for(int j=;j<=;j++)
ans[j]=num[i][j];
for(int j=;j<=;j++)
{
ans[j]=table[ans[j-]][ans[j]];
}
num[i][]=ans[];
}
/*for(int i=1;i<=5;i++)
cout<<num[2016][i];
cout<<endl;
for(int j=0;j<=10;j++)
{
for(int i=1;i<=5;i++)
cout<<num[j][i];
cout<<endl;
}*/
int ans=;
for(int i=;i<;i++)
if(check1(i)||check2[i])
ans++;
cout<<ans<<endl;
return ;
}
F:有N行单向流水线和对应的N个仓库 每个机器人有两个值 X Y 其中X表示坐标 Y表示在哪一个流水线下面 要求输出每个仓库能从几个流水线流入
根据题意每个仓库我们给他两个值 一个代表最上边能到达那个仓库 一个代表最下边能到达那个仓库 因为机器人只会连接相邻的两条线 所以保证l到r之间是连续的
再按机器人的坐标进行升序排序 然后依次读入 每次更新机器能碰到的两条线的l与r (例二很有用)
#include <bits/stdc++.h>
#include <cstring>
#include <iostream>
#include <algorithm>
#define foror(i,a,b) for(i=a;i<b;i++)
#define foror2(i,a,b) for(i=a;i>b;i--)
#define EPS 1.0e-8
#define PI acos(-1.0)
#define INF 3000000000
#define MOD 1000000009
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
//using ll = long long;
//using ull= unsigned long long;
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que;
typedef long long ll;
pair<int,int> robot[];
int ans[][];
bool cmp(pair<int,int> a,pair<int,int> b){return a.first<=b.first;}
int main()
{
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int n,m;
while(scanf("%d %d",&n,&m)!=EOF)
{
for(int i=;i<=n;i++)
ans[i][]=ans[i][]=i;
for(int i=;i<=m;i++)
{
scanf("%d %d",&robot[i].first,&robot[i].second);
}
sort(robot+,robot++m,cmp);
for(int i=;i<=m;i++)
{
int aim=robot[i].second;
int ans1=min(ans[aim][],ans[aim+][]);
int ans2=max(ans[aim][],ans[aim+][]);
ans[aim][]=ans1;
ans[aim+][]=ans1;
ans[aim][]=ans2;
ans[aim+][]=ans2;
}
for(int i=;i<n;i++)
cout<<ans[i][]-ans[i][]+<<" ";
cout<<ans[n][]-ans[n][]+<<endl;
}
return ;
}
Summer training #6的更多相关文章
- hdu 4946 2014 Multi-University Training Contest 8
Area of Mushroom Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- 2016 Multi-University Training Contests
2016 Multi-University Training Contest 1 2016 Multi-University Training Contest 2 2016 Multi-Univers ...
- 2016 Multi-University Training Contest 2 D. Differencia
Differencia Time Limit: 10000/10000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- 2016 Multi-University Training Contest 1 G. Rigid Frameworks
Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- ACM: Gym 101047K Training with Phuket's larvae - 思维题
Gym 101047K Training with Phuket's larvae Time Limit:2000MS Memory Limit:65536KB 64bit IO F ...
- The Solution of UESTC 2016 Summer Training #1 Div.2 Problem C
Link http://acm.hust.edu.cn/vjudge/contest/121539#problem/C Description standard input/output After ...
- 2012 Multi-University Training Contest 9 / hdu4389
2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...
- 2014 Multi-University Training Contest 9#11
2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others) ...
- 2014 Multi-University Training Contest 9#6
2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...
- 2016 Multi-University Training Contest 1
8/11 2016 Multi-University Training Contest 1 官方题解 老年选手历险记 最小生成树+线性期望 A Abandoned country(BH) 题意: 1. ...
随机推荐
- 鸟哥私房菜基础篇:磁碟配额(Quota)与进阶文件系统管理习题
猫宁!!! 参考:http://cn.linux.vbird.org/linux_basic/0420quota.php 1-在前一章的第一个大量新增帐号范例中, 如果我想要让每个用户均具有 soft ...
- SpringBoot + thymeleaf 实现分页
SpringBoot结合Thymeleaf实现分页,很方便. 效果如下 后台代码 项目结构 1. 数据库Config 由于hibernate自动建表字符集为latin不能插入中文,故需要在applic ...
- LeetCode刷题7——数字的补数
一.要求 补数可以直接通过异或运算进行. 二.背景 最近工作中位运算遇到一个问题,温度有正负两种表示,而且还有小数点.例如用四个16进制字节表示,XXXX,其中第一位是占位符,中间两三位为温度的有效值 ...
- POJ2411 Mondriaan's Dream 【状压dp】
没错,这道题又是我从LZL里的博客里剽过来的,他的题真不错,真香. 题目链接:http://poj.org/problem?id=2411 题目大意:给一个n * m的矩形, 要求用 1 * 2的小方 ...
- Hive_解析 get_json_object ( )
Hive_解析 get_json_object ( ) get_json_object ( string json_string, string path ) 说明: 第一个参数填写json对象 ...
- 数据去重 -uniq
也是经常和管道 一起操作的. -c 每行出现的次数 -d 仅仅显示重复行 -u 仅仅显示不重复行 -i 忽略大小写 注: 在对字母进行去重的时候, 一定要先对文件进行排序之后,去重的功能才可以 ...
- 一文搞懂 Java 中的枚举,写得非常好!
知识点 概念 enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性. 在Java中,被 enum关键字修饰的类型就是枚举类型.形式如下: enum Color { RED, ...
- GCD和LCM
GCD _ LCM 是给你两个数A B 的最大公约数, 以及最小公倍数 the greatest common divisor and the least common multiply ! 最大公约 ...
- Mysql 三大特性详解
Mysql 三大特性详解 Mysql Innodb后台线程 工作方式 首先Mysql进程模型是单进程多线程的.所以我们通过ps查找mysqld进程是只有一个. 体系架构 InnoDB存储引擎的架构如下 ...
- 清除vs2005、vs2008起始页最近打开项目
有时候vs2005起始最近打开项目过多很想清除掉,但打遍了也没找到清除选项在哪里,今天找到了方法,发上来和大家共享. 方法一手工操作方法:1)删除最近打开的文件运行regedit,打开HKEY_CUR ...