求助
查看原帖
求助
848091
zhuimeng1233楼主2023/8/17 08:30

很好奇那里出问题了,思路与题解差不多,只是把3种情况分开写了,但只有40分?

#include <bits/stdc++.h>
using namespace std;

int n,m,x,y,k;


int main ()
{
	cin>>n>>m>>x>>y>>k;
	int days=0,yd=0;
	int a=(n/x),b=(m/y);
    
	if(n%x==0&&m%y==0)//若 a=x,b=y,无需额外加点,每有一个不等于的,需加一个点。
	{
		yd=a*b-1;
		if(k>=yd)
			 days=1;
		else
		{
		if(yd%k==0)
		 days=yd/k;
		else
		 days=yd/k+1;				
		}
	cout<<days<<' '<<yd;return 0;
	}
	
	else if((n%x==0&&m%y!=0)||(n%x!=0&&m%y==0))//一个不等于
	{
		yd=a*b;
		if(k>=yd)
			 days=1;
		else
		{
		if(yd%k==0)
		 days=yd/k;
		else
		 days=yd/k+1;				
		}
	cout<<days<<' '<<yd;return 0;
	}
	
	else if(m%y!=0&&n%x!=0)//两个不等于
	{
		yd=a*b+1;
		if(k>=yd)
			 days=1;
		else
		{
		if(yd%k==0)
		 days=yd/k;
		else
		 days=yd/k+1;				
		}
		cout<<days<<' '<<yd;return 0;
	}
	
	
	
	return 0;
}
2023/8/17 08:30
加载中...