ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【贪心】

2021-08-20 19:33:02  阅读:129  来源: 互联网

标签:int dd i2 long i1 mx 贪心


 

[1]

K-Knowledge Test about Match_2021牛客暑期多校训练营1 (nowcoder.com)

随机化贪心 第一次遇到

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const ll mx = 1e3 + 10;
 5 int n, t;
 6 inline double dd(int a, int b){
 7     return sqrt(abs(a-b));
 8 }
 9 int a[mx], b[mx];
10 double bj(int i1, int i2){
11     return dd(a[i1],b[i1])+dd(a[i2],b[i2])-dd(a[i1],b[i2])- dd(a[i2],b[i1]);
12 }
13 void solve(){
14     scanf("%d", &t);
15     for(int lp=1;lp<=t;lp++){
16         scanf("%d", &n);
17         for(int i=1;i<=n;i++){
18             a[i]=i-1;
19             scanf("%d", &b[i]);
20         }
21 //        printf("-------------------over-------------------\n");
22         for(int time=1;time<=3;time++){
23             bool has=false;
24             for(int i=1;i<=n;i++){
25                 for(int j=i+1;j<=n;j++){
26                     double ans= bj(i,j);
27                     if(ans>0){
28                         has=true;
29                         swap(b[i], b[j]);
30                     }
31                 }
32             }
33             if(has==false)break;
34         }
35         for(int i=1;i<=n;i++){
36             if(i!=1)printf(" ");
37             printf("%d", b[i]);
38         }
39         puts("");
40     }
41 }
42 int main(){
43     solve();
44     return 0;
45 }
View Code

 

标签:int,dd,i2,long,i1,mx,贪心
来源: https://www.cnblogs.com/ReflexFox/p/15167915.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有