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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

HDOJ 3784

發布時間:2023/12/9 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDOJ 3784 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繼續xxx定律

Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1238????Accepted Submission(s): 341


Problem Description 當n為3時,我們在驗證xxx定律的過程中會得到一個序列,3,5,8,4,2,1,將3稱為關鍵數,5,8,4,2稱為覆蓋數。現在輸入n個數字a[i],根據關鍵數與覆蓋數的理論,我們只需要驗證其中部分數就可以確定所有數滿足xxx定律,輸出輸入的n個數中的關鍵數。如果其中有多個關鍵數的話按照其輸入順序的逆序輸出。

?

Input 輸入數據包含多個用例,每個用例首先包含一個整數n,然后接下來一行有n個整數a[i],其中:
1<=n<=500
1<a[i]<=1000

?

Output 請計算并輸出數組a中包含的關鍵數,并按照其輸入順序的逆序輸出,每個用例輸出占一行。

?

Sample Input 3 3 8 4 5 3 8 4 7 15 5 3 8 4 15 7 0

?

Sample Output 3 15 7 3 7 15 3 #include<stdio.h> int a[505],vis[505]; int main() {int n,temp;int i,j;int flag;while(scanf("%d",&n),n){{for(i=1;i<=n;i++){scanf("%d",a+i);/*默認為關鍵數*/ vis[i]=1;}for(i=1;i<=n;i++){temp=a[i];while(temp!=1){if(temp&1){temp=3*temp+1;temp>>=1;}elsetemp>>=1;for(j=1;j<=n;j++)if(temp==a[j])vis[j]=0;}}}flag=1;/*若是直接輸for(i=n;i>=1;i--)if(mark[i]==0)printf("%d ",num[i]);肯定PE,因為最后多輸出一個空格而且不知道最后一個是誰,不能for(i=n;i>=1;i--)printf("%d ",);printf("%d\n")*/ for(i=n;i>=1;i--)if(1==vis[i]){if(1==flag){printf("%d",a[i]);flag=0;}else printf(" %d",a[i]);}printf("\n"); }return 0; }

?

轉載于:https://www.cnblogs.com/hxsyl/archive/2012/07/25/2608192.html

總結

以上是生活随笔為你收集整理的HDOJ 3784的全部內容,希望文章能夠幫你解決所遇到的問題。

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