多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開(kāi)源 > 綜合技術(shù) > UVa 10012 有多大 沒(méi)AC,待修改

UVa 10012 有多大 沒(méi)AC,待修改

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-03-23 08:39:48 閱讀次數(shù):3178次

題意:給出1些圓的半徑,把所有圓放到1個(gè)矩形里,要求所有圓都必須與矩形的最下邊相切,求矩形的最小長(zhǎng)度。

本來(lái)寫得很快,以為是1道水題,結(jié)果有太多情況沒(méi)斟酌。。我是依照最左圓的半徑加上每?jī)上嗲袌A的圓心間水平距離再加上最右圓的半徑寫的,有太多情況沒(méi)斟酌。1會(huì)補(bǔ)上1個(gè),縫縫補(bǔ)補(bǔ)的,現(xiàn)在都有些暈了,現(xiàn)在還遺漏的情況是,我只斟酌了第2個(gè)圓比第1個(gè)圓能到更左,和倒數(shù)第2個(gè)圓比倒數(shù)第1個(gè)圓能到更右,但是第3個(gè)圓或第4個(gè)圓也可能比它左側(cè)的圓更能到達(dá)左側(cè)的,右側(cè)類似。。這就像,只補(bǔ)上了i⑵號(hào)圓與i號(hào)圓相切,而沒(méi)有斟酌i號(hào)圓可能和i⑶號(hào)圓也能夠相切。。。

參考此處和此處,給出了各種情況。

我覺(jué)得不會(huì)再修改這個(gè)思路了。。最多重新寫1個(gè)。。。

下面是1些測(cè)試數(shù)據(jù):

input

101

3 2.0 0.4 2.0
8 1.344 0.852 0.269 1.472 3.170 1.329 0.579 2.847
3 0.196 0.009 0.735
7 0.030 3.821 1.368 1.545 5.434 0.934 0.105
3 0.467 0.889 0.461
7 0.744 1.173 1.035 0.354 0.300 1.102 0.708
6 1.419 5.220 1.208 0.714 1.741 8.151
7 0.453 2.879 1.834 3.639 1.361 0.558 1.280
8 10.519 0.553 4.513 0.911 1.170 0.293 0.678 1.463
2 1.069 0.616
5 1.780 3.458 2.220 0.659 0.750
8 0.146 1.085 7.379 0.992 4.334 3.427 0.608 2.375
1 0.155
5 0.119 2.052 0.379 2.150 0.693
4 63.499 0.249 3.666 0.322
5 1.890 4.796 0.583 0.187 0.347
1 1.079
4 0.209 1.862 1.430 5.867
8 3.265 0.590 0.054 1.583 0.074 1.585 0.525 0.989
4 2.232 7.205 150.375 1.467
1 11.740
6 10.779 3.807 1.716 0.428 0.536 1.224
4 1.071 2.685 0.794 0.117
4 0.608 0.486 0.135 4.533
1 0.469
8 2.294 0.756 10.556 3.538 2.250 0.383 0.858 1.160
3 2.463 1.446 1.809
5 2.174 0.154 0.322 0.539 0.847
7 0.429 1.694 2.170 0.214 0.369 0.275 8.182
5 2.159 0.739 1.132 0.733 0.328
3 7.906 3.212 1.724
1 3.759
4 2.750 1.045 1.434 19.391
2 0.241 12.710
4 0.900 0.978 0.568 0.968
7 1.056 0.084 1.089 3.910 0.114 1.221 2.411
3 2.301 1.375 0.298
2 0.376 0.532
4 2.275 0.261 0.087 2.705
5 0.605 1.057 0.257 0.706 0.861
3 0.203 0.627 0.848
1 4.048
5 3.357 0.641 4.038 0.864 0.667
8 0.252 0.416 1.932 0.365 0.621 0.502 8.299 0.318
2 40.436 3.087
7 0.682 2.496 0.322 0.786 0.128 0.625 0.438
4 1.042 2.291 0.724 1.504
8 1.460 5.581 0.001 25.125 1.713 2.704 0.342 0.716
6 0.102 0.469 0.859 4.451 2.170 1.602
8 1.830 14.377 0.517 0.685 1.184 0.001 1.011 1.385
6 0.855 0.000 1.823 0.768 0.426 1.157
5 0.647 2.051 0.537 1.676 0.339
3 3.623 0.364 0.994
8 0.947 1.024 0.263 0.773 1.279 4.074 49.961 0.065
2 6.345 16.925
5 4.651 0.156 1.075 0.480 2.629
5 1.256 0.227 0.054 0.035 1.912
2 1.203 0.751
7 5.175 0.518 1.108 8.091 0.274 1.003 0.555
6 0.291 0.175 0.370 7.216 0.554 1.628
7 0.847 0.676 0.577 0.492 1.407 0.868 10.257
2 0.812 1.108
6 1.286 19.802 0.499 0.333 0.598 13.306
3 0.688 0.263 21.964
1 0.748
8 0.203 1.499 23.346 1.314 2.114 0.833 1.757 14.082
7 7.280 0.942 0.389 1.521 1.467 0.963 2.634
6 0.588 0.239 0.647 2.450 1.536 0.291
8 22.087 1.160 10.010 0.527 1.168 0.720 0.184 0.670
7 3.225 1.402 1.486 2.549 1.023 1.008 2.263
2 0.955 1.202
5 3.073 7.774 6.587 8.906 1.282
6 0.301 0.835 4.213 0.848 5.414 1.315
4 0.731 2.590 2.308 0.235
1 1.250
8 0.383 3.919 0.738 0.429 0.663 0.698 1.331 1.531
7 1.280 0.356 0.686 1.039 0.680 0.058 0.490
6 1.031 0.174 1.945 0.773 0.680 0.466
8 0.413 0.689 4.510 0.694 1.453 3.161 0.971 0.283
3 0.781 1.030 1.666
3 0.061 1.953 1.654
3 0.036 0.741 0.477
3 1.826 2.268 2.851
7 0.319 2.537 1.363 35.278 0.172 6.054 4.533
2 5.517 1.447
2 0.226 0.493
8 2.559 0.443 4.470 1.445 1.162 0.258 0.193 1.644
4 0.563 3.274 1.186 0.803
8 0.303 7.870 17.105 0.734 1.000 6.424 3.592 2.105
7 1.028 2.475 1.486 0.505 0.480 0.133 1.702
2 0.528 1.190
4 8.753 0.326 0.944 0.843
2 0.870 1.001
4 0.324 0.899 0.772 5.190
8 0.182 2.026 12.486 2.303 1.066 4.099 0.923 1.286
7 2.644 0.931 0.367 0.779 0.618 0.190 11.166
8 1.903 0.002 1.174 3.766 0.789 1.874 7.221 0.830
8 0.579 0.657 0.518 0.567 19.806 0.080 0.186 2.428
6 0.778 3.006 5.973 8.024 0.042 0.268
7 0.148 0.226 3.190 0.146 1.708 0.398 0.317
5 2.595 0.559 0.306 1.292 1.908

output

8.000, not 7.578

20.334 1.690 21.870 3.497 9.809 28.015 20.397 28.812 3.308 14.987 32.716 0.310 9.063 126.998 12.707 2.158 15.695 14.333 300.750 23.480 27.398 8.177 9.066 0.938 31.701 11.251 6.269 19.737 8.877 22.398 7.518 38.782 25.420 6.718 17.124 7.233 1.802 9.941 6.453 3.018 8.096 14.976 18.239 80.872 8.694 10.299 54.389 15.754 28.754 9.145 8.777 8.412 99.922 43.996 15.114 6.267 3.855 26.208 15.699 20.514 3.817 65.572 43.928 1.496 73.691 23.309 9.041 61.835 23.824 4.300 49.918 20.044 10.248 2.500 15.232 8.357 8.829 18.325 6.712 7.202 2.407 13.743 70.560 12.615 1.387 20.281 9.581 61.570 13.133 3.303 17.506 3.737 10.409 34.572 24.677 27.367 39.612 32.294 9.566 11.336
Code:

//沒(méi)AC,有問(wèn)題的。。 #include<stdio.h> #include<string.h> #include<math.h> void dfs(int cur,int m,double len); double a[10]; int vis[10]; int A[10]; double yy[10]; double bestlen; int main() { int n; scanf("%d",&n); while(n-->0) { memset(vis,0,sizeof(vis)); int m; int num=0; scanf("%d",&m); for(int i=0;i<m;++i) { scanf("%lf",&a[i]); if(a[i]==0) { vis[i]=1; num++;} } bestlen=10000000000.0; dfs(0,m-num,0); printf("%.3lf ",bestlen); } return 0; } void dfs(int cur,int m,double len) { if(len>=bestlen) return ; if(cur==m) { if(yy[m⑴]+a[A[m⑴]]<a[A[m⑵]]) len=len-yy[m⑴]-a[A[m⑴]]+a[A[m⑵]]; bestlen=len<bestlen?len:bestlen; } else for(int i=0;i<m;++i) { if(!vis[i]) { vis[i]=1; A[cur]=i; double len2=len;//復(fù)制len,這樣在dfs下面的代碼就不需要恢復(fù)len了。 double dd=0; if(cur==0) len2=len2+a[i];//第1個(gè)位置,只需要加第1個(gè)的半徑 else { double dxie=a[i]+a[A[cur⑴]]; double dy=a[i]-a[A[cur⑴]]; dd=sqrt(dxie*dxie-dy*dy); len2=len2+dd; yy[cur]=dd; } if(cur==m⑴) len2=len2+a[i];//最后1個(gè)位置,還應(yīng)再加1個(gè)最后的半價(jià) if(cur==1) { if(a[A[0]]+dd<a[A[1]]) len2=len2-a[A[0]]-dd+a[A[1]]; yy[1]=a[A[1]];} if(cur<2) dfs(cur+1,m,len2); double lyy=0;//當(dāng)前圓與之前的圓,用半徑和的平方減去半徑差的平方的值 int j=0; for(;j<cur⑴;++j)//枚舉當(dāng)前圓與第0、1...圓 { double dxie=a[i]+a[A[j]]; double dy=a[i]-a[A[j]; lyy=sqrt(dxie*dxie-dy*dy); double changdd=0;//當(dāng)前圓與第j圓的水平距離 for(int k=j+1;k<=cur;++k) changdd+=yy[k]; if(changdd<lyy) { len2=len2-changdd+lyy; dfs(cur+1,m,len2); break; } } if(j==cur⑴) dfs(cur+1,m,len2); vis[i]=0; } } }


生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 日韩免费观看一级毛片看看 | 国产亚洲精品美女一区二区 | 欧美精品一区二区三区久久 | 久草成人在线视频 | 欧美中文小说在线观看 | 中文字幕乱码系列免费 | 日本成人免费在线视频 | 最近最新的免费中文字幕 | 美日韩在线| 羞羞影视| 日产国产欧美视频一区精品 | 伊人免费在线观看 | 色人阁在线 | 中文字幕2022永久在线 | 国产成人精品免费视频大全办公室 | 欧美日韩国产不卡在线观看 | 最近更新中文字幕3 | 综合免费一区二区三区 | 爱爱欧美 | 一级做a爱 一区 | 欧美超清性videosfreehd | 成人福利社区 | 主播福利视频在线观看网址 | 精品肉动漫资源在线观看 | 国产91久久精品一区二区 | 综合五月| 污污免费看 | 欧美日韩中文亚洲v在线综合 | 日韩精品一区二区三区高清 | 国产精品一区二区三区免费视频 | 欧美天堂在线 | 久久久www成人免费精品 | 范冰冰一级做a爰片久久毛片 | 日本无卡无吗中文免费 | xxx国产精品 | 啦啦啦啦高清视频免费观看 | 理论亚洲区美一区二区三区 | 国产视频一区在线观看 | 一二三四视频免费观看在线看 | 亚洲福利视频一区 | 欧美黄色一级片视频 |