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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

51nod 1090 1267 【二分简单题】

發布時間:2025/7/25 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 51nod 1090 1267 【二分简单题】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

做法:從左往右枚舉前兩個數的和sum,剩余的數二分找-sum是否存在。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #include?<bits/stdc++.h> using?namespace?std; struct?Node?{ ????int?a,?b,?c; }temp; int?main()?{ ????int?n; ????int?a[1010]; ????scanf("%d",?&n); ????for(int?i?=?0;?i?<?n;?i++)?scanf("%d",?&a[i]); ????sort(a,?a+n); ????vector<Node>ans; ????for(int?i?=?0;?i?<?n-2;?i++)?{ ????????for(int?j?=?i+1;?j?<?n-1;?j++)?{ ????????????int?sum?=?a[i]?+?a[j]; ????????????int?pos?=?lower_bound(a+j+1,?a+n,?-sum)?-?a; ????????????if(pos?>=?n?||?a[pos]?!=?-sum)?continue; //????????????cout?<<?i?<<?'?'?<<?j?<<'?'?<<?pos?<<?endl; ????????????temp.a?=?a[i]; ????????????temp.b?=?a[j]; ????????????temp.c?=?a[pos]; ????????????ans.push_back(temp); ????????} ????} ????if(ans.size()?==?0)?{ ????????puts("No?Solution"); ????????return?0; ????} ????for(int?i?=?0;?i?<?ans.size();?i++)?{ ????????cout?<<?ans[i].a?<<?'?'?<<?ans[i].b?<<?'?'?<<?ans[i].c?<<?endl; ????} }

?

?

?

感覺比第一題還簡單,是因為數據太弱? 三個for枚舉前三個數和sum, 二分剩余的數找-sum。

測試數據三個數sum居然不會爆int

?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include?<bits/stdc++.h> using?namespace?std; int?main()?{ ????int?n; ????int?a[1010]; ????scanf("%d",?&n); ????for(int?i?=?0;?i?<?n;?i++)?scanf("%d",?&a[i]); ????sort(a,?a+n); ????for(int?i?=?0;?i?<?n-3;?i++)?{ ????????for(int?j?=?i+1;?j?<?n-2;?j++)?{ ????????????for(int?k?=?j+1;?k?<?n-1;?k++)?{ ????????????????int?sum?=?a[i]?+?a[j];?sum?+=?a[k]; ????????????????int?pos?=?lower_bound(a+k+1,?a+n,?-sum)?-?a; ????????????????if(pos?>=?n?||?a[pos]?!=?-sum)?continue; ????????????????puts("Yes"); ????????????????return?0; ????????????} ????????} ????} ????puts("No"); }

轉載于:https://www.cnblogs.com/bestwzh/p/6636963.html

總結

以上是生活随笔為你收集整理的51nod 1090 1267 【二分简单题】的全部內容,希望文章能夠幫你解決所遇到的問題。

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