c语言 3个人比饭量大小,OpenJudge计算概论-比饭量【枚举法、信息数字化】
/*======================================================================
比飯量
總時間限制: 1000ms 內存限制: 65536kB
描述
3個人比飯量,每人說了兩句話:
A說:B比我吃的多,C和我吃的一樣多
B說:A比我吃的多,A也比C吃的多
C說:我比B吃得多,B比A吃的多。
事實上,飯量和正確斷言的個數是反序的關系。
請編程按飯量的大小輸出3個人的順序。
輸入
無輸入
輸出
按照飯量大小輸出3人順序,比如:
ABC
樣例輸入
無
樣例輸出
無
解析:這個題目在OpenJudge提交時,題目意思不清晰,應該按飯量從小到大的順序輸出字母
用三重for循環枚舉所有可能的解
對每一種可能的解計算每一個人正確斷言的數量
然后把飯量、正確斷言數量分別打包到數組(把人對應的編號一起封裝)
對兩個數組進行排序(一個由大到小,另一個由小到大)
檢測兩個數組每一個元素對應的人名字是否一致,若所有人的名字一致,得到一個可行解。輸出
繼續循環尋找下一個可行解
========================================================================*/
#include
using namespace std;
struct person
{
int n;//飯量或者斷言數量
char name;//名字
};
int main()
{
int a,b,c;//三者的范圍都是1~3,這里把a、b、c的值看作他們的飯量(不一定要用1~3,只要能區分出三個數的大小就行了)
//當然,也可以換一下思路,用a、b、c表示飯量排名
int A,B,C;//表示斷言正確的數量
struct person x[],y[],t;
int i,j,flag;
for(a=;a
{
for(b=;b
{
for(c=;c
{
A=(b>a)+(c==a);
B=(a>b)+(a>c);
C=(c>b)+(b>a);
/*假如三個人的飯量不會相等、三個人的斷言正確數量也不會相等,
下面就判斷a+A、b+B、c+C是否都相等,都等于3就行了。
但是這個題目,三個人飯量可能相等,斷言正確數量也可能一樣,必需用其他方式*/
//下面把a、b、c、A、B、C分別放到數組x、y當中。 然后對x、y數組進行排序
x[].n=a;x[].name='A';
x[].n=b;x[].name='B';
x[].n=c;x[].name='C';
y[].n=A;y[].name='A';
y[].n=B;y[].name='B';
y[].n=C;y[].name='C';
//對x數組按元素的飯量從大到小排序,對y數組按元素的斷言正確數量從小到大排序
for(i=;i
{
flag=;
for(j=;j
{
if(x[j].n
{
flag=;
t=x[j];
x[j]=x[j+];
x[j+]=t;
}
}
if(flag) break; //if(flag==1) break;
}
for(i=;i
{
flag=;
for(j=;j
{
if(y[j].n>y[j+].n)
{
flag=;
t=y[j];
y[j]=y[j+];
y[j+]=t;
}
}
if(flag) break; //if(flag==1) break;
}
//從頭到尾檢查x和y數組每一個元素對應的是否是同一個人
for(i=;i
{
if(x[i].name!=y[i].name) break;
}
if(i==)
{//輸出結果
for(i=;i>=;i--)
cout<
cout<
}
}
}
}
return ;
}
OpenJudge計算概論-取石子游戲
OpenJudge計算概論-取石子游戲[函數遞歸練習] /*====================================================================== ...
OpenJudge計算概論-完美立方【暫時就想到了枚舉法了】
/*===================================== 完美立方 總時間限制: 1000ms 內存限制: 65536kB 描述 a的立方 = b的立方 + c的立方 + d的立 ...
Openjudge計算概論——數組逆序重放【遞歸練習】
/*===================================== 數組逆序重放 總時間限制:1000ms 內存限制:65536kB 描述 將一個數組中的值按逆序重新存放. 例如,原來的順 ...
OpenJudge計算概論-計算書費
/*============================================== 計算書費 總時間限制: 1000ms 內存限制: 65536kB 描述 下面是一個圖書的單價表: 計算 ...
OpenJudge 計算概論1007:點評賽車
總時間限制: 1000ms 內存限制: 65536kB描述4名專家對4款賽車進行評論1)A說:2號賽車是最好的:2)B說:4號賽車是最好的:3)C說:3號賽車不是最好的:4)D說: B說錯了.事實上只 ...
OpenJudge計算概論-最高的分數
/*======================================================== 最高的分數 總時間限制: 1000ms 內存限制: 65536kB 描述 孫老師 ...
OpenJudge計算概論-稱體重【枚舉法、信息數字化】
/*====================================================================== 稱體重 總時間限制: 1000ms 內存限制: 655 ...
OpenJudge計算概論-求特殊自然數【枚舉法】【將整數轉成字符串】
/*======================================================================== 求特殊自然數 總時間限制: 1000ms 內存限制 ...
Openjudge計算概論-求序列中的眾數
/*===================================== 求序列中的眾數 總時間限制: 1000ms 內存限制: 65536kB 描述 輸入一個長度為N的整數序列 (不多于128 ...
隨機推薦
迅雷VIP帳號獲取小工具
自己寫的迅雷vip帳號獲取工具,主要是熟悉一下正則表達式 下載地址: 迅雷VIP獲取工具 另附vip防踢補丁,不能使用最新迅雷,我使用的是迅雷尊享版2.0.12.258,使用了一段時間,至少沒被踢出來 ...
[總結]FFMPEG視音頻編解碼零基礎學習方法--轉
ffmpeg編解碼學習 ? 目錄(?)[-] ffmpeg程序的使用ffmpegexeffplayexeffprobeexe 1 ffmpegexe 2 ffplayexe 3 ffprobeexe ...
Commons Codec - 常見的編碼解碼
Base64 Base64 編碼 assertEquals("T3chIQ==", Base64.encodeBase64String("Ow!!".getBy ...
ant腳本
jenkins在調用ant腳本時會遇到ant中的目標沒有成功,但是最后的build狀態卻是success,如下圖所示:代碼中缺少一個},編譯發生錯誤,最后的build成功. 解決方案:在關鍵的targ ...
Go - 第一個 go 程序 -- helloworld
創建程序目錄 接著上一節的內容,在我們的workspace (D:\Gopher) 里面創建子目錄 hello,他的絕對路徑為:D:\Gopher\src\github.com\tuo\hello 創 ...
如何使用django操作數據庫,向原有表中添加新的字段信息并建立一個多對多的關系?
(注:本人用的pycharm開發工具) 1.在你要添加新字段的app的 models.py 文件中添加需要新增的字段(book表新增authors字段并和author建立多對多關系,author表新增 ...
HTTP 報文格式
(a)GET,POST,PUT(更新)DELETE(刪除) 首行中,請求報文只需包含路由,因為在發送請求前,tcp連接已經創建,協議版本 Header: 接收類型 (b)版本 + 狀態碼 Header ...
python 爬蟲 重復下載 二次請求
在寫爬蟲的時候,難免會遇到報錯,比如 4XX ,5XX,有些可能是網絡的原因,或者一些其他的原因,這個時候我們希望程序去做第二次下載, 有一種很low的解決方案,比如是用? try? except t ...
Spring-bean的作用域
在大多數情況下,單例bean是很理想的方案.初始化和垃圾回收對象實例所帶來的的成本只留給一些小規模任務,在這些任務中,讓對象保持無狀態并且在應用中反復重用這些對象可能并不合理.在這種情況下,將clas ...
成都Uber優步司機獎勵政策(4月18日)
滴快車單單2.5倍,注冊地址:http://www.udache.com/ 如何注冊Uber司機(全國版最新最詳細注冊流程)/月入2萬/不用搶單:http://www.cnblogs.com/mfry ...
總結
以上是生活随笔為你收集整理的c语言 3个人比饭量大小,OpenJudge计算概论-比饭量【枚举法、信息数字化】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux ubuntu 17,Ubun
- 下一篇: 在c语言中下面指针,c语言指针的知识点