首页 > 其他分享 >移动01

移动01

时间:2023-05-10 16:34:16浏览次数:26  
标签:01 cout temp int max ++ str 移动

#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<vector>
#include<string>

using namespace std;
void print(vector<int>& a) {
for (auto& x : a) {
cout << x <<" ";
}
}
const int N = 1024 + 1;
int n;
vector<int>v(N);
int res = 0;
vector<pair<int, int>>result;
int main() {
cin >> n;
string str;
getline(cin,str);
getline(cin, str);
int cnt = 0;
int cnt0 = 0;
for (int i = 2; i < str.size() && cnt <= n; i++) {
if (str[i] == ' ') {
i = i + 2;//为什么--跳过0x
continue;
}
int temp = 0;
cnt += 4;//记录什么的--十进制??分离0和1
int tempcnt = cnt;
if (str[i] >= '0' && str[i] <= '9') {
temp = str[i] - '0';
}
else {
temp = str[i] - 'A' + 10;
}
for (int j = tempcnt - 1; j >= cnt - 4; j--) {//将每一位数字取出来
if (temp & 1 == 1)
v[j] = 1;
else {
v[j] = 0;
if (j < n) {//为什么是小于n--后面是无关位数了
cnt0++;//记录0的个数
}
}
temp = temp >> 1;
}
}
if (cnt0 == 0) {//也就是没有损坏
cout << 0;
return 0;
}
int max_ = 0;
int min_ = INT_MAX;
for (int j = 0; j < n; j++) {
int sum = 0;
for (int i = 0; i < n; i++) {
if (v[i] == 0 && (i - j) >= 0 && v[i - j] == 1)//所以j是移动的位数吗---模拟--把每一位0都照顾到
sum++;//应该是可以补偿小孔的数量--确实应该是尽量多,值的范围永远是小于等于坏孔数
}
if (sum > max_) {
min_ = j;
max_ = sum;
}
}
if (max_ == cnt0)
result.push_back({ min_,max_ });
max_ = 0;
min_ = INT_MAX;
for (int j = 0; j < n; j++) {
int sum = 0;
for (int i = 0; i < n; i++) {
if (v[i] == 0 && (i + j) < n && v[i + j] == 1)
sum++;
}
if (sum > max_) {
min_ = j;
max_ = sum;
}
}
if (max_ == cnt0) {
result.push_back({ min_ * -1,max_ });
}
cout << result.size() << endl;
for (int i = 0; i < result.size(); i++) {//磕磕绊绊的明白
if (result[i].first > 0) cout << '+';
cout << result[i].first << endl;
for (int j = 0; j < n; j++) {
int temp = j+ result[i].first;//为什么要加j--temp代表什么--0~n-1位数---代表第几位
if (temp >= 0 && temp < n) {
if (v[j] == 1) {
if (v[temp] == 0) {//temp是要补偿的小孔
cout << 1;
}
else {
cout << 0;
}
}
else {
cout << 0;
}
}
else cout << 0;
}
cout << endl;
}
cout << sizeof(int) << endl;
return 0;
}

标签:01,cout,temp,int,max,++,str,移动
From: https://www.cnblogs.com/ououki/p/17388370.html

相关文章

  • 2023移动光猫H2-2超级密码获取教程
    记录信息普通账户登录光猫后台,记录下宽带的账密、loid。如果后台查询不到以上信息,则可以按照如下办法获得宽带的账密不知道,也可以登录移动APP去查询和重置。loid不知道,则联系10086安排维修,然后联系其师傅电话咨询即可,不要问10086客服,她们不懂。这个用于光猫注册用的,注册后......
  • 【ZJOI 2013】防守战线
    简要题意在段\([1,n]\)上建立防御塔,每个位置都可以建立任意多个,第\(i\)个位置的费用为每个\(C_i\)。给出\(m\)个限制,形如区间\([L_j,R_j]\)内至少总共有\(D_j\)个防御塔。问最小代价。数据范围:\(1\len\le1000,1\lem\le10000\)。题解设第\(i\)个位置有\(A......
  • 预言成真:Facebook拿浏览器开刀 推进移动化进程
    上市后的Facebook动作频频,斥资8000万美元买下移动电商平台Karma后,又推出了自己的照片分享应用Camera,现在又有传言称其将收购 Opera浏览器。看来 HamishMcKenzie只猜中了一半:Facebook要解决其移动化问题,手机浏览器是关键;但它没有选择自主研发,而是通过收购来提升自己在浏......
  • P2014
    P2014题意从一棵树中选择m条与根节点直接/间接相连的点,使得总权值最大DP(树上背包)状态:\(dp[i][j]\)表示在以\(i\)为根的子树中,选择了\(j\)个点的权值最大值转移选择第k个点:\(dp[i][j]=dp[i][j-k]+dp[to][k]\)不选第k个点:\(dp[i][j]=dp[i][j]\)决策:\(dp[i][j]=......
  • 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。第一章 数组part01
    今天开始第一天,其实之前也刷过题,也写过博客,可是没有坚持下去;主要是没有动力吧,我又是一个严重的拖延症患者,还好遇到刷到Carl哥的视频,记得是在bilibili分享的二分法视频,感觉讲的挺好的,就加了微信;然后发现有刷题训练营,太适合我这种人了,果断加入,哈哈,废话不多说,开始刷题。  第......
  • w9_01
    题目#美国血统##题目描述农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而不是用图形的方法。你的任务是在被给予奶牛家谱的“树中序......
  • 简述2012版SQL SERVER备份还原到2008R2版SQL SERVER的方法(转载)
    转载:http://wfsj.weifang.gov.cn/sy/sjjl/201905/t20190531_5370608.html 目前审计机关数据分析通用的数据库为SQLSERVER2008R2版本。被审计单位相关业务系统的后台数据库主要是ORACLE、SQLSERVER 。审计人员需要将不同类型或者不同SQLSERVER版本的数据库转化到SQLSERVER......
  • GAMES101 VS2019 2022环境配置
    GAMES101VS20192022环境配置Eigen库的配置在官网https://eigen.tuxfamily.org/index.php?title=Main_Page中下载Eigen库的zip格式。将压缩包解压为eigen3同时解压到指定路径,我这里为D:\include\eigen3。使用VS2019创建一个空项目,将代码框架的头文件和源文件加入到项......
  • luogu P3345 [ZJOI2015]幻想乡战略游戏
    P3345[ZJOI2015]幻想乡战略游戏这道题还是比较有意思的,做了一个比较长的时间,但是点分树实在是太毒瘤了,所以记录一下线段树的做法。题面给一棵树,有边权,每次修改一个点的点权,修改完后输出所有点到这棵树的带权重心的贡献,即\(\sumdis_i\timesval_i\)题解考虑朴素的暴......
  • 算法学习day10栈与队列part01-232、225
    packageLeetCode.StackAndQueuepart01;importjava.util.LinkedList;importjava.util.Queue;/***225.用队列实现栈*请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop和empty)。*实现MyStack类:*voidpush(intx)将元......