1 solutions
-
-7
这道题目一开始我也不是很会,看了网上的题解后融入了自己的思考,在此感谢:原版题解
#include<iostream> using namespace std; int a[int(2e4)],n,k; bool f[int(2e4)][200];//每一种n,k int main() { cin>>n>>k; for(int i=1;i<=n;i++){ cin>>a[i]; a[i]%=k; } f[0][0]=1; for(int i=1;i<=n;i++) { for(int j=0;j<k;j++){ f[i][j] =(f[i-1][(j-a[i]+k)%k] ||f[i-1][(j+a[i]+k)%k]);//递推 } } if(f[n][0]){ cout<<"YES"<<endl; } else{ cout<<"NO"<<endl; } return 0; }
- 1
Information
- ID
- 681
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- # Submissions
- 12
- Accepted
- 7
- Uploaded By