二維數組聯通子數組和最大

?

題目要求:

返回一個二維整數數組中最大聯通子數組的和。
輸入一個二維整形數組,數組里有正數也有負數。
文件輸出。

思路:和之前的動態規劃相識,把二維數組轉換為一維數組,先求每一個列的子數組和最大,最后在用正數就加,負數就跳過的方法獨立判斷

?

#include<iostream>
using namespace std;
#include<ctime>
#include<fstream>void main()
{int m,n,i,j,smark,mmark,t2;int sum;int up[100],down[100],t[100];int a[100][100],b[100];cout<<"輸入二維數組的行"<<endl;cin>>m;cout<<"輸入二維數組的列"<<endl;cin>>n;for(i=0;i<m;i++){for(j=0;j<n;j++){cin>>a[i][j];}}//輸入二維數組for(i=0;i<m;i++){for(j=0;j<n;j++){b[j]=a[i][j];}int c[100]={0};int sum1=0,max1=0,k;for(k=0;k<n;k++)           //在列上求每一個最大子數組
        {if(sum1<0){sum1=b[k];}else{sum1=sum1+b[k];}c[k]=sum1;}max1=c[0];for(k=0;k<n;k++)           {if (max1<c[k]){max1= c[k];mmark = k;}}for (k = mmark;k >= 0;k--){if (c[k] == b[k]){smark = k;break;}}sum=max1;up[i]=smark;                                  down[i]=mmark;t[i]=sum;}t2=t[0];for(i=0;i+1<m;i++){if(up[i]<=down[i+1] && down[i]>=up[i+1]){t2+=t[i+1];}for(j=up[i];j<up[i+1];j++){if(a[i+1][j]>0) t2+=a[i+1][j];                   //判別獨立正數
        }}//文件輸出ofstream fout("D:\\input.txt",ios::binary);for(i=0;i<m;i++){for(j=0;j<n;j++){fout<<a[i][j]<<" ";}fout<<endl;}fout<<"最大聯通子數組的和為:"<<t2<<endl;}

轉載于:https://www.cnblogs.com/tyyhph/p/5352373.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458887.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458887.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458887.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

c語言如何給變量加鎖,C語言互斥鎖-條件變量實現公共緩存區數據讀寫

#include char buffer[128];int has_data0;pthread_mutex_t mutex;pthread_cond_t cond;pthread_cond_t cond2;void read_buf(void){do{pthread_mutex_lock(&mutex);//鎖定互斥鎖if(has_data0){/*阻塞線程,等待另外一個線程發送信號&#xff0c;同時為公共數據區解鎖*/pthr…

view-activity跟控件在onkey事件上的傳遞關系

android 中Activity跟View對于鍵盤的監聽&#xff0c;主要有以下幾個方法 //按鍵按下 public boolean onKeyDown(int keyCode, KeyEvent event) {} //按鍵彈起 public boolean onKeyUp(int keyCode, KeyEvent event) {} //常按 public boolean onKeyLongPress(int keyCode, Ke…

PMP考試的過與不過

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 我在一年多時間里參加了三次PMP考試&#xff0c;前兩次都失敗&#xff0c;直到第三次才…

JPA一對多循環引用的解決

說是解決&#xff0c;其實不是很完美的解決的&#xff0c;寫出來只是想記錄一下這個問題或者看一下有沒有哪位仁兄會的&#xff0c;能否知道一二。 下面說說出現問題&#xff1a; 問題是這樣的&#xff0c;當我查詢一個一對多的實體的時候&#xff0c;工具直接就爆了&#xff0…

太原理工大學c語言課程設計報告,[太原理工大學C語言實驗報告.doc

[太原理工大學C語言實驗報告本科實驗報告課程名稱&#xff1a; 程序設計技術B實驗項目&#xff1a;實驗地點&#xff1a; 明向校區軟件學院機房專業班級&#xff1a; 學號&#xff1a;學生姓名&#xff1a;指導教師&#xff1a; 呼克佑2014年 12月 日實驗名稱 實驗一 C語言的運…

網頁常用動態效果--懸浮廣告

關鍵在于動態獲取滾動坐標值 測試滾動事件 $(window).scroll(function(){ console.log($(window).scrolltop()); }) 獲取三個高度&#xff1a;窗口高度&#xff0c;盒子高度以及滾動坐標值&#xff0c;將廣告盒子設置為絕對定位&#xff0c;當鼠標滾動時&#xff0c;其top值為滾…

打印英文年歷C語言函數,C語言打印年歷

voidshow_year(int year){inti,j,k,t,n;                           // 用來輔助計數int table[24][21] {0};                     // 年歷數組int month_day[12] {31,28,31,30,31,30,31,31,30,31,30,31}; // 每月上限天數i…

ubuntu14.04配置caffe

ubuntu 14.04 64bit 安裝 請自行Google安裝&#xff0c;并修改源。 cuda 7.5 安裝 cuda7.5下載&#xff0c;選擇ubuntu 14.04的deb包下載安裝一些可能的依賴 sudo apt-get install linux-headers-$(uname -r) build-essential 安裝cuda sudo dpkg –i cuda-repo-<distro>…

iOS開發API常用英語名詞

iOS開發API常用英語名詞 0. indicating 決定 1.in order to 以便 2.rectangle bounds 矩形尺寸 3.applied 應用 4.entirety 全部 5.technique 方法 6.truncating 截短 7.wrapping 換行 8.string 字符串 9.familiar style 簡體 10.The styled text 主題樣式 11.Constants 常量 …

Win10 IIS本地部署網站運行時圖片和樣式不正常?

后期會在博客首發更新&#xff1a;http://dnt.dkill.net 異常處理匯總-服 務 器 http://www.cnblogs.com/dunitian/p/4522983.html 啟用關閉win功能&#xff0c;開啟一下靜態內容 收工~

設置IIS會話過期時間

打開默認網站----雙擊ASP--展開會話屬性---更改超時時間-轉載于:https://www.cnblogs.com/genesis/p/4816128.html

89c51單片機匯編語言,AT89C2051時鐘程序——MCS51單片機匯編程序

;; AT89C2051時鐘程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;定時器T0、T1溢出周期為50MS&#xff0c;T0為秒計數用&#xff0c; T1為調整時閃爍用&#xff0c;;P3.7為調整按鈕&#xff0c;P1口 為字符輸出口&#xff0c;采用共陽顯示管。;;;;;;;;;;;;;;;;;;;;;;;;;;;;…

c語言結構體指針初始化

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 記得上周在飯桌上和同事討論C語言的崛起時&#xff0c;講到了內存管理方面 我說所有指…

WWDC 2013 Session筆記 - iOS7中彈簧式列表的制作

這是我的WWDC2013系列筆記中的一篇&#xff0c;完整的筆記列表請參看這篇總覽。本文僅作為個人記錄使用&#xff0c;也歡迎在許可協議范圍內轉載或使用&#xff0c;但是還煩請保留原文鏈接&#xff0c;謝謝您的理解合作。如果您覺得本站對您能有幫助&#xff0c;您可以使用RSS或…

H5學習之旅-H5列表(8)

列表的基本語法 ol&#xff1a;有序列表 ul&#xff1a;無序列表 li&#xff1a;列表項 dl&#xff1a;列表 dt&#xff1a;列表項 dd&#xff1a;列表描述 常用列表 1.無序列表&#xff1a;使用標簽 ul&#xff0c;li 屬性&#xff1a;disc&#xff08;默認實心圓&#xff09;…

c語言 文件夾是否純真,C語言面試題大匯總之華為面試題(轉)

1、局部變量能否和全局變量重名&#xff1f;答&#xff1a;能&#xff0c;局部會屏蔽全局。要用全局變量&#xff0c;需要使用 ":: "局部變量可以與全局變量同名&#xff0c;在函數內引用這個變量時&#xff0c;會用到同名的局部變量&#xff0c;而不會用到全局變量。…

virtual析構函數的作用?

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 大家知道&#xff0c;析構函數是為了在對象不被使用之后釋放它的資源&#xff0c;虛函…

[codevs1039]數的劃分

這一題實際上是組合數學里面的經典問題&#xff0c;跟第二類Stirling數有些相似。可以把一個數值為n的數看成n個小球&#xff0c;劃分的份數k看作是k個盒子&#xff0c;那么本題的要求就是&#xff1a; 將n個小球放到k個盒子中&#xff0c;小球之間與盒子之間沒有區別&#xff…

c語言中用文件處理數據,C語言文件處理 -C語言從文件中讀寫格式化數據

從圖 1 所示的文件 fin.txt 中讀取學生姓名、身高和體重&#xff0c;計算并顯示它們的平均值&#xff0c;并且將顯示結果保存到文件 fout.txt 中。圖 1&#xff1a;輸入輸出文件示例C語言代碼清單 1&#xff1a;讀取學生姓名、身高和體重&#xff0c;計算并顯示它們的平均值#in…

MySQL于ON DUPLICATE KEY UPDATE采用

今天我們做的推斷插入用途MySQL于ON DUPLICATE KEY UPDATE。現在&#xff0c;Mark下面&#xff01;假設你想做的事&#xff0c;再有就是在數據庫中插入數據沒有數據、如果有數據更新數據&#xff0c;然后你可以選擇ON DUPLICATE KEY UPDATE。 ON DUPLICATE KEY UPDATE可以在UNI…