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 ;
}

最新文章

  1. LA 3942 - Remember the Word (字典树 + dp)
  2. eclipse出现的JRE运行环境错误
  3. 导出Redis某个列表所有数据的语句
  4. 将spring源码导入到eclipse中
  5. ES6新增const常量、let变量
  6. Oracle 10G如何从recovery catalog中Unregister目标数据库
  7. python 笔记1
  8. [数据结构与算法]哈夫曼(Huffman)树与哈夫曼编码
  9. bzoj4026
  10. Calendar Game
  11. 【CF】244C Checkposts
  12. DataGridView的使用和批量修改
  13. 判断回文数字 9. Palindrome Number
  14. Mac下安装php5.6/7.1
  15. Xamarin for Visual Studio下载后的文件路径
  16. JS-NaN的数据类型
  17. CCS 6新建文件自动生成注释
  18. 一、selenium 环境搭建
  19. rabbitmq (一)用法
  20. MySQL权限和用户安全

热门文章

  1. python-Web-django-商城-不登陆添加购物车
  2. 使用青花瓷(charles)抓包
  3. 架构模式: API网关
  4. web赛题
  5. 李宏毅 Gradient Descent Demo 代码讲解
  6. C语言I—2019秋作业第一周作业
  7. 【LOJ】#3034. 「JOISC 2019 Day2」两道料理
  8. Java设置时区
  9. X86逆向6:易语言程序的DIY
  10. EXSI宿主机更换硬盘后虚机启动有问题