# 板凳分配问题

yg_zhu 2019-11-29 09:04:21

``input 101100,k=2``

``output :3``
...全文
85 5 打赏 收藏 举报

5 条回复

len = str的长度

str的第j个元素值设为为'2'， 计数器加一， 退出第二重循环
}
}

• 打赏
• 举报

yg_zhu 2019-11-30

• 打赏
• 举报

yg_zhu 2019-11-30

``````
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
using namespace std ;

int main()
{
vector<char> str_ck;
vector<int> lable;
string s1;
char num;
int lab_chair = 0;
int lab_child = -1;
int k;
int len;
int ans = 0;
cin >> s1;
for (int p = 0; p < s1.length(); p++)
{
str_ck.push_back(s1[p]);
if(s1[p]=='1')
lable.push_back(lab_child);
else
lable.push_back(lab_chair);
}
cin >> k;
len = str_ck.size()-1;
for (int i = 0; i < str_ck.size(); i++)
{
if (str_ck[i]=='1')
{
for (int j = max(0,i-k); j <= min(len,i+k); j++)
{
if(str_ck[j]=='0'&&lable[j]==0)
{
ans++;
lable[j]=-1;
break;
}

}
}
}
cout<<ans<<endl;
return 0;
}
``````
• 打赏
• 举报

#include<stdio.h>
#include <string.h>
int main()
{
char str[100];
int k;
scanf("%s%d", str, &k);
int len = strlen(str);
int i, j, count=0;
for (i=0; i<len-1;i++ ) {
if (str[i] > '1' ) continue;
for ( j=i+1; i<len && j-i<=k; j++ ) {
if ( str[j] > '1' ) continue;
if ( str[i] ^ str[j] ) {
str[j]='A'+count; str[i]='A'+count; count++; break;
}
}
}
printf("%s %d\n", str, count);
return 0;
}

• 打赏
• 举报

lin5161678 2019-11-30

len = str的长度

str的第j个元素值设为为'2'， 计数器加一， 退出第二重循环
}
}

• 打赏
• 举报

3859

C/C++ 其它技术问题

2019-11-29 09:04