Codeforces 732A

#include <stdio.h>

#define min(x, y) (x<y?x:y)

int main()
{
	int a[10]={0, 10, 5, 10, 5, 2, 5, 10, 5, 10};
	int k, r;
	scanf("%d %d", &k, &r);
	int temp=k%10;
	int i;
	int ans;
	if(k%10==0)
		ans=1;
	else
	{
		for(i=1; i<10; ++i)
			if(((temp*i)%10)==r)
				break;
		ans=min(a[temp], i);
	}
	printf("%d\n", ans);
	return 0;
}

  @对于读入的变量k,先判断它是否能被10整除。如果能Answer为1;如果不能,则在以下两种情况里选择其中的最小值即为Answer。情况一:在不使用给定零钱下,即在只用面额为10的情况下最少需要买几把铲子;情况二:在使用给定零钱下,即在用给定零钱的面额(一张)+若干张面额为10的情况下最少需要买几把铲子。

猜你喜欢

转载自www.cnblogs.com/commario/p/11836535.html