发布网友 发布时间:2024-10-24 02:41
共1个回答
热心网友 时间:2024-10-30 23:06
这题主要考察对for循环的运用。代码如下:
#include<bits/stdc++.h>
using namespace std;
int f[10001][10001],a[10001];
int main(){
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>a[i];
f[1][(a[1]%k+k)%k]=1;
for(int i=2;i<=n;i++)
for(int j=0;j<k;j++)
f[i][j]=f[i-1][((j-a[i])%k+k)%k]||f[i-1][((j+a[i])%k+k)%k];
if(f[n][0]) printf("YES");
else printf("NO");
return 0;
}
扩展资料
Java for循环的几种用法详解
1、遍历数组的传统方式
/* 建立一个数组 */
int[] integers = {1, 2, 3, 4};
/* 开始遍历 */
for (int j = 0; j < integers.length; j++) {
int i = integers[j];
System.out.println(i);
}
2、遍历Collection对象的传统方式
/* 建立一个Collection */
String[] strings = {"A", "B", "C", "D"};
Collection stringList = java.util.Arrays.asList(strings);
/* 开始遍历 */
for (Iterator itr = stringList.iterator(); itr.hasNext();) {
Object str = itr.next();
System.out.println(str);
}
而在Java语言的最新版本――J2SE 1.5中,引入了另一种形式的for循环。借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。