40分求助
查看原帖
40分求助
797121
Elsdt楼主2023/8/29 20:32
using namespace std;
int n,m;
int a[142]={0};
int g(int x)//判断愤怒值 
{
	int sum=0;
	if(a[x]==1)
	{
		if(a[x-1]==1)
		{
			sum++;
		}
		if(a[x+1]==1)
		{
			sum++;
		}
	}
	return sum;
}
int main()
{
    cin>>n>>m;
    if(n==1)
    {
    	cout<<0;
    	return 0;
	}
    for(int i=1,bit=1;i<=n;i++,bit+=2)
    {
    	if(bit>m)
    	{
    		bit%=m;
		}
		else if(bit==m-1)
		{
			a[bit]=1;
			a[++bit]=1;
			i++;
		}
        a[bit]=1;
    }
    if(a[1]==1)//房间特判,首尾相连 
    {
    	a[m+1]=1;
	}
	if(a[n]==1)
	{
		a[0]=1;
	}
    int ans=0;
    for(int i=1;i<=m;i++)
    {
    	ans+=g(i);
	}
    /*for(int i=0;i<=m+1;i++)//查看房间状态 
    {
    	cout<<a[i]<<" "; 
	}
	cout<<endl;*/
	cout<<ans;
	return 0;
}
2023/8/29 20:32
加载中...