日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

这是一个沙雕题III(坑题)

發布時間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 这是一个沙雕题III(坑题) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鏈接:https://ac.nowcoder.com/acm/contest/289/K
來源:牛客網

題目描述
因為現在的新生太強了,都學會了“dp”,所以就有了這樣一個“dp”題,雙11時Gugugu有(x,x+1,x+2…y-1,y)元的抵用券無數張,但是Gugugu有強迫癥所以他希望他使用抵扣券正好能夠抵扣k元,這樣他就能安心的買下這件商品,但是他卻不會計算所以希望你們告訴他能不能一種方法使抵用券正好抵扣k元。
輸入描述:
第一行輸入t代表有t組數據,第二行開始每行三個數k,x,y代表需要抵扣k元,x,y代表擁有抵用券的最小面值和最大面值。(1<=t<=200)(1<=k,x,y<109)(x<=y)
輸出描述:
輸出"Y"代表示能正好抵扣,輸出"N"代表不能正好抵扣
示例1
輸入
復制
2
7 2 4
6 4 5
輸出
復制
Y
N

真是沙雕題,更沙雕的是,我還信了,我還按著完全背包去做了,真的是,1e9的數據量,就算是能開出數組來也超時啊,啊啊啊
代碼如下:

#include<bits/stdc++.h> #define ll long long using namespace std;int main() {int t;cin>>t;while(t--){ll k,x,y;cin>>k>>x>>y;ll z=k/x;if(z*y>=k) cout<<"Y"<<endl;else cout<<"N"<<endl;} }

完全背包代碼如下:

#include<bits/stdc++.h> #define ll long long #define inf 0x3f3f3f3f using namespace std;ll t,x,y,k;int main() {cin>>t;while(t--){cin>>k>>x>>y;int n=y-x+1;int a[n+1];int dp[k+1];int cnt=0;for(int i=x;i<=y;i++){a[cnt++]=i;}memset(dp,0,sizeof(dp));for(int i=0;i<cnt;i++){for(int j=a[i];j<=k;j++){dp[j]=max(dp[j],dp[j-a[i]]+a[i]);}}if(dp[k]!=k) cout<<"N"<<endl;else cout<<"Y"<<endl;} }

努力加油a啊,(o)/~

總結

以上是生活随笔為你收集整理的这是一个沙雕题III(坑题)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。