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. ...
随机推荐
- C语言递归之翻转二叉树
题目描述 翻转一棵二叉树. 示例 输入: / \ / \ / \ 输出: / \ / \ / \ 题目要求 /** * Definition for a binary tree node. * str ...
- mysql数据库之单表查询多表查询
单表查询 前期表准备 create table emp( id int not null unique auto_increment, name varchar(20) not null, sex e ...
- Linux文件属性改变命令chown-chgrp-chattr-lsattr实践
chown 语法: chattr.lsattr 更改文件属性
- 2019牛客暑期多校训练营(第六场)-D Move
题目链接:https://ac.nowcoder.com/acm/contest/886/D 题意:给n个物品,每个物品有一个体积值,K个箱子,问箱子的最小体积为多少可将物品全部装下. 思路:比赛时一 ...
- 解决mac启动springboot项目很慢的问题
1.打开终端输入: hostname 查看电脑名称 2.输入命令修改hosts文件 sudo vi /etc/hosts 3. 在127.0.0.1和::1后边分别增加你的电脑名称 127.0.0.1 ...
- 基于Docker安装 GitLab
⒈下载镜像 本文使用GitLab 中文社区版 Docker 镜像 Docker Hub地址:https://hub.docker.com/r/beginor/gitlab-ce 如果要体验最新版的Gi ...
- STL algorithm 头文件下的常用函数
algorithm 头文件下的常用函数 1. max(), min()和abs() //max(x,y)和min(x,y)分别返回x和y中的最大值和最小值,且参数必须时两个(可以是浮点数) //返回3 ...
- Vue.js学习笔记-script标签在head和body的区别
初学JavaScript,项目需要没有系统学习,只能边查资料边码代码,埋下的坑不知道有多少,还是建议时间充足的情况下系统的将Javascript学习一遍 ,涉及的HTML知识也务必了解. 问题 最开始 ...
- Linux操作系统文档
一 Linux操作系统概述 l为什么要学习Linux操作系统: 1. 大部分服务端都是使用Linux操作系统(Django,爬虫,科学运算等项目是部署到服务器中的) 2. 一些企业和学校(国外学校 ...
- LeetCode 141 ——环形链表(JAVA)
给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1: 输入: ...