沉石鱼惊旋 @ 2021-12-25 10:09:24
蒟蒻提问:vector可以只删除一个数,然后之后的数填充到前面可以吗
by 一只大龙猫 @ 2021-12-25 10:10:29
@chenyuxuan__2009 erase()?
by Ofnoname @ 2021-12-25 10:11:44
可以,但是是O(n)的,没有用。
by 沉石鱼惊旋 @ 2021-12-25 10:11:49
@一只大龙猫 我BDFS了一下只能删区间的数?
by peterwuyihong @ 2021-12-25 10:13:09
@chenyuxuan__2009 那你一个区间就是这个数不就行了
by 沉石鱼惊旋 @ 2021-12-25 10:15:09
@peterwuyihong 我写了个结构体,里面放了几个数字和一个string类型的vector,运行总是会报错咋办
by peterwuyihong @ 2021-12-25 10:15:59
代码看看
by 沉石鱼惊旋 @ 2021-12-25 10:17:33
#include<bits/stdc++.h>
using namespace std;
const int mod=998244353;
int n,m;
struct pp
{
string name;
vector<string> p;
int life=4;
}pig[11];
string c[2001];
void P(int id)
{
if(pig[id].life<4)
{
pig[id].life+=1;
}
}
void K(int id)
{
//左边的有闪
if(pig[(id+1)%n].p[0]=="D")//第一张手牌是闪
{
pig[(id+1)%n].p.erase(p.begin(),p.begin());
}
}
main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>pig[i].name;
for(int i=0;i<4;i++)
{
string s;
cin>>s;
pig[i].p.push_back(s);
}
}
for(int i=1;i<=m;i++)
{
cin>>c[i];
}
}
@peterwuyihong
by 沉石鱼惊旋 @ 2021-12-25 10:18:41
@peterwuyihong 总感觉哪里怪怪的,但又看不出来毕竟我太鶸了
by 一只大龙猫 @ 2021-12-25 10:21:22
@chenyuxuan__2009
#include<bits/stdc++.h>
using namespace std;
const int mod=998244353;
int n,m;
struct pp
{
string name;
vector<string> p;
int life=4;
}pig[11];
string c[2001];
void P(int id)
{
if(pig[id].life<4)
{
pig[id].life+=1;
}
}
void K(int id)
{
//左边的有闪
if(pig[(id+1)%n].p[0]=="D")//第一张手牌是闪
{
pig[(id+1)%n].p.erase(pig[(id+1)%n].p.begin(),pig[(id+1)%n].p.begin());
}
}
main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>pig[i].name;
for(int i=0;i<4;i++)
{
string s;
cin>>s;
pig[i].p.push_back(s);
}
}
for(int i=1;i<=m;i++)
{
cin>>c[i];
}
}
by 一只大龙猫 @ 2021-12-25 10:21:47
你这里的p是在结构体里的……