HUD 4841 (vector的用法)
时间:2022-07-24
本文章向大家介绍HUD 4841 (vector的用法),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题意:就是围成一个环,有坏人有好人,让你找到n个坏人应该在的位置,以便全部处死。
WWWW,原因是因为没有把坏人去掉,在重新选坏人位置时是包括以前的坏人的。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
while(cin>>n>>m){
vector<char> st;
for(int i=0; i<2*n; i++)
st.push_back('G');
int pos = 0;
for(int i=0; i<n; i++){
pos = (pos+m-1) %(2*n-i);
st[pos] = 'B';
}
cout<<st[0];
int tot = 1;
for(int i=1;i<=2*n-1;i++){
if(tot % 50==0){
cout<<st[i]<<endl;
}
else{
cout<<st[i];
}
}
cout<<endl;
st.clear();
}
return 0;
}
ac代码
#include <bits/stdc++.h>
using namespace std;
int main(){
vector < int > table;
int n,m;
while(~scanf("%d %d",&n,&m)){
table.clear(); //清空
for(int i=0; i<2*n; i++)
table.push_back(i); //初始化
int pos = 0; //记录当前位置
for(int i=0; i<n; i++){ //处死n个人
pos = (pos+m-1) % table.size();
//圆桌是个环,我们可以认为是很多很多个一样的数组,相邻接着
table.erase(table.begin() + pos); //table里把赶走的人去掉,人数减一
}
int j = 0;
for(int i=0; i<2*n; i++){ //打印预先安排的座位
if(!(i%50) && i)
//实现50个字母换一行(注意i=0时不应该换行,所以&&i)
cout<<endl;
if(j<table.size() && i==table[j]){
//因为i是从小到大遍历的,
//而table里的元素我们初始化时包括去掉某些元素,移动过程中,也是保持的从小到大的次序不变的
//所以可以只是遍历i,自然就是先匹配上较小的table[j]
j++;
cout<<"G"; //table中留下的都是好人
}else
cout<<"B";
}
cout<<endl<<endl; //相邻数据组间留一个空行
}
return 0;
}
- MapReduce 中的两表 join 几种方案简介
- MapReduce中的自定义多目录/文件名输出HDFS
- 通过hiveserver远程服务构建hive web查询分析工具
- Hive 中内部表与外部表的区别与创建方法
- 常用统计分析 SQL 在 AWK 中的实现
- java 中 16 进制 HEX 转换成字节码形式的 UTF-8
- Hadoop 多表 join:map side join 范例
- 实战 windows7 下 eclipse 远程调试 linux hadoop
- Hive 在多维统计分析中的应用 & 技巧总结
- shell 学习笔记(18)
- Hive 中的复合数据结构简介以及一些函数的用法说明
- BloomFilter 简介及在 Hadoop reduce side join 中的应用
- 关于 hadoop reduce 阶段遍历 Iterable 的 2 个“坑”
- Hadoop Mapper 阶段将数据直接从 HDFS 导入 Hbase
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法