链接:qaq
1.
现有三种操作:“从键盘输入一个字符”、“复制当前所有内容到剪贴板”、“读取剪贴板内容并粘贴到尾部”(初始状态下剪贴板为空)
你每次可以选择上述一种操作执行,试问最多操作N次时最多可以生成多长的内容?
输入格式:
包含多组输入,每组在一行中给出最多操作次数N,1≤N≤50。
输出格式:
对每一组输入,在一行中输出限定条件下最长内容的长度。(题目保证数据均在int范围内)
输入样例:
注意为多组输入
5
6
输出样例:
6
9
样例解释:
打字->打字->打字->复制->粘贴->粘贴,共6步操作产生了9位的内容。
以我蒟蒻的眼光来看,是找规律的。
开始的时候是只有这一组测试样例,往下推的时候,数算错了,导致wa了。后来中场的时候,出题人给加了1~10的 样例,就呃呃呃。上代码。另外,这题写法贼多。
#include <stdio.h>
int main()
{
int n;
int dp[51]={1,2,3,4,6,9,12,18,27,36,54,81,108};
int cnt=0;int j=3;int t=6;
for(int i=5;i<51;i++)
{
if((i-1)%3!=0)
{
dp[i]=dp[i-1]+j;
cnt++;
if(cnt==2)
{
j=j*3;
cnt=0;
}
}
if((i-1)%3==0)
{
dp[i]=dp[i-1]+t;
t=t*3;
}
}
/* for(int i=0;i<51;i++)
{
printf("%d\n",dp[i]);
}
*/
while(~scanf(