GYM 100182 D.Knitting(水~)

来源:互联网 发布:唐诗三百首 版本 知乎 编辑:程序博客网 时间:2024/05/18 02:31

Description
给出一个初始值n和一个长度为k的序列a[0]~a[k-1],每次是把n加上a[i],当加到a[k-1]时下一次加的数变成加a[0]这样循环,问m次操作后数字变成多少
Input
多组用例,每组用例输入三个整数n,m,k,之后k个整数a[i],以三个0结束输入
(1<=n<=100,1<=m<=1000,1<=k<=100,-100<=a[i]<=100)
Output
对于每组用例,输出一个整数表示操作后的数字
Sample Input
3 3 1
2
50 6 4
6 -2 -2 0
0 0 0
Sample Output
15
322
Solution
简单题,暴力
Code

#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<queue>#include<map>#include<set>#include<ctime>using namespace std;typedef long long ll;#define INF 0x3f3f3f3f#define maxn 1111int n,m,k,a[maxn];int main(){    while(~scanf("%d%d%d",&n,&m,&k),n||m||k)    {        a[0]=0;        for(int i=0;i<k;i++)        {            scanf("%d",&a[i]);        }        int ans=n*m,temp=0;        for(int i=0;i<m-1;i++)        {            temp+=a[i%k];            ans+=temp;        }        printf("%d\n",ans);    }    return 0;}
0 0
原创粉丝点击