题目链接:
题目描述:
给一个n*n的格子,有1*k的瓷砖,问用这些瓷砖覆盖这些格子,最少剩下多少格子不能被覆盖(格子只能被覆盖一次,瓷砖不能超出格子界限)?
解题思路:
看到题目感性告诉窝和n%k有关系,提交,返回wa,然后又讨论n与k的奇偶性,依旧wa。最后发现是一个结论题,Matrix67的文章写的很棒,paste~。
1 #include <cmath> 2 #include <cstdio> 3 #include <cstring> 4 #include <iostream> 5 #include <algorithm> 6 using namespace std; 7 8 int main () 9 { 10 int n, k, t; 11 scanf ("%d", &t); 12 while ( t --) 13 { 14 scanf ("%d %d", &n, &k); 15 if (n < k) 16 printf ("0 "); 17 else 18 { 19 int a = n % k; 20 int b = k - n%k; 21 printf ("%d ", n*n - min (a*a, b*b)); 22 } 23 } 24 return 0; 25 }