Aiiage Camp Day1 E Littrain wanna be small

题意

  选择使最小。

题解

  原题要求输出方案,现场没有SPJ好像..就只要输出最小值了。

  打表很容易发现7之后开始循环,即可求出最小值。

  可发现一个恒等式:

  

  因此只需要处理前n % 7项,后面项按照这个恒等式处理即可。

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int T;
 7     scanf("%d", &T);
 8     while (T--)
 9     {
10         int n;
11         scanf("%d", &n);
12         if (n == 1)
13             puts("1");
14         else
15             if (n == 2)
16                 puts("3");
17             else
18                 if (n == 3)
19                     puts("4");
20                 else
21                     if (n == 4)
22                         puts("2");
23                     else
24                         if (n == 5)
25                             puts("3");
26                         else
27                         {
28                             if ((n % 4 == 1) || (n % 4 == 2))
29                                 puts("1");
30                             else
31                                 puts("0");
32                         }
33     }
34     
35     return 0;
36 }
原文地址:https://www.cnblogs.com/aseer/p/8441447.html