華為OJ——24點遊戲演算法
24點遊戲演算法
題目描述
問題描述:給出4個1-10的數字,通過加減乘除,得到數字為24就算勝利輸入:4個1-10的數字。[數字允許重複,測試用例保證無異常數字]輸出:true or false
輸入描述:
輸入4個int整數
輸出描述:
返回能否得到24點,能輸出true,不能輸出false
輸入例子:
7 2 1 10
輸出例子:
true
解答程式碼:
#include<iostream> #include<string> #include<cstring> #include<algorithm> #include<fstream> #define N 4 using namespace std; int flag=0; int num[N]; void solveByDfs(int index,int result,int num[]) { if(result==24) { flag=1; return ; } if(result > 24 || index>=4) return ; for(int choose=0; choose<4; choose++) { switch(choose) { case 0: solveByDfs(index+1,result+num[index],num); break; case 1: solveByDfs(index+1,result-num[index],num); break; case 2: solveByDfs(index+1,result*num[index],num); break; case 3: solveByDfs(index+1,result/num[index],num); break; } if(flag) return; } } int main() { int test=0; while(cin>>num[0]>>num[1]>>num[2]>>num[3]) { flag=0; test=0; sort(num,num+4); do { solveByDfs(0,test,num); } while(next_permutation(num,num+4)); if(flag) cout<<"true"<<endl; else cout<<"false"<<endl; } return 0; }
相關推薦
華為OJ——24點遊戲演算法
24點遊戲演算法 題目描述 問題描述:給出4個1-10的數字,通過加減乘除,得到數字為24就算勝利輸入:4個1-10的數字。[數字允許重複,測試用例保證無異常數字]輸出:true or false 輸
華為OJ 初級:24點遊戲演算法
描述 問題描述:給出4個1-10的數字,通過加減乘除,得到數字為24就算勝利輸入:4個1-10的數字。[數字允許重複,測試用例保證無異常數字]輸出:true or false 知識點 迴圈
【華為機試067】24點遊戲演算法
題目描述: 給出4個1-10的數字,通過加減乘除,得到數字為24就算勝利 輸入: 4個1-10的數字。[數字允許重複,但每個數字僅允許使用一次,測試用例保證無異常數字] 輸出: true or false Java實現: import java.util.Arra
24點遊戲演算法 (無腦遞迴暴力破解)
題目描述 問題描述:給出4個1-10的數字,通過加減乘除,得到數字為24就算勝利 輸入: 4個1-10的數字。[數字允許重複,但每個數字僅允許使用一次,測試用例保證無異常數字] 輸出: true or false 輸入描述: 輸入4個int整數 輸出描述: 返
Java利用遞迴演算法實現24點遊戲
24點遊戲 經典的紙牌益智遊戲,常見遊戲規則: 從撲克中每次取出4張牌。使用加減乘除,第一個能得出24者為贏。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求程式設計解決24點遊戲。 基本要求: 隨機生成4個代表撲克牌牌面
24點遊戲是經典的紙牌益智遊戲。 常見遊戲規則: 從撲克中每次取出4張牌。使用加減乘除,第一個能得出24者為贏。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求程式設計解決24點遊戲
24點遊戲是經典的紙牌益智遊戲。 常見遊戲規則: 從撲克中每次取出4張牌。使用加減乘除,第一個能得出24者為贏。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求程式設計解決24點遊戲。 基本要求: 隨機生成4個代表撲克牌牌面的數字字母,程式自動列
2018年演算法工程師秋招經驗貼(微軟、華為、網易遊戲、阿里offer)
目前不打算再投其他的公司了,所以來寫面試總結。一直被各種人追問面經,準確寫好一勞永逸哈哈哈。本人985碩士,性別女,可以參考下哈。有什麼問題,可以留言哈。 1.微軟 微軟是參加的進校面試,(師姐安利的,師姐是參加的夏令營)微軟的面試體驗是非常的棒的,微軟特別尊重
華為OJ:數字顛倒
ring pan mod ber ack art ava scan end 將數字轉成一個字符串即可了。 import java.util.Scanner; public class convertNumber { public static void main(St
華為OJ 名字美麗度
list tty res mod set 範圍 重載 物聯網 實例 這是一道坑爹的題目,為什麽這麽說,且看我慢慢分析…… 題目例如以下: 給出一個名字,該名字有26個字符串組成,定義這個字符串的“美麗度”是其全部字母“美麗度”的總和。 每一個字母都
24點遊戲是經典的紙牌益智遊戲 java 程式 原始碼 測試結果
24點遊戲是經典的紙牌益智遊戲。 常見遊戲規則: 從撲克中每次取出4張牌。使用加減乘除,第一個能得出24者為贏。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求程式設計解決24點遊戲。 基本要求: 隨機生成4個代表撲克牌牌面的數字字母,程式自動列
從鍵盤輸入4個0-13之間的正整數實現24點遊戲並寫入檔案中
程式碼如下: include<stdio.h> include <stdlib.h> include <time.h> FILE * fp; void main() { void play(); //宣告函式 fp=fopen
(Python)簡易24點遊戲的實現步驟
題目說明: 24點遊戲是經典的紙牌益智遊戲。 常見遊戲規則:從撲克中每次取出4張牌。使用加減乘除,第一個能得出24者為贏。(其中,J代表11,Q代表12,K代表13,A代表1), 隨機生成4個代表撲克牌牌面的數字字母,程式自動列出所有可能算出24的表示式。 解題思想:
Python+pyqt5實現24點遊戲
描述:一副牌中A、J、Q、K可以當成是1、11、12、13。任意抽取4張牌,用加、減、乘、除(可加括號)把牌面上的數算成24。每張牌對應的數字必須用一次且只能用一次。在規定時間內輸入算式,輸入正確加十分,輸入錯誤生命值減一,點選確定提交併進入下一題,點選清空可清
用Java實現24點遊戲
24點遊戲 程式設計要求: 24點遊戲是經典的紙牌益智遊戲。 常見遊戲規則: 從撲克中每次取出4張牌。使用加減乘除,第一個能得出24者為贏。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求程式設計解決24點遊戲。 基本要求: 隨機生成4個代表撲克
尋找01矩陣中的最大子矩陣--華為OJ機試--java語言版
題目描述: 在一個M * N的矩陣中,所有的元素只有0和1,從這個矩陣中找出一個面積最大的全1子矩陣,所謂最大是指元素1的個數最多。 輸入: 輸入可能包含多個測試樣例。 對於每個測試案例,輸入的第一行
24點遊戲設計
&
華為oj素數伴侶
題目描述若兩個正整數的和為素數,則這兩個正整數稱之為“素數伴侶”,如2和5、6和13,它們能應用於通訊加密。現在密碼學會請你設計一個程式,從已有的N(N為偶數)個正整數中挑選出若干對組成“素數伴侶”,挑選方案多種多樣,例如有4個正整數:2,5,6,13,如果將5和6分為一組
華為oj【IP地址判斷有效性】
#include <iostream> #include <cstring> #include<string> using namespace std; bool isIPAddressValid(const char* pszIPAddr) { if(pszIPA
【華為oj】超長正整數想加
問題描述:請設計一個演算法完成兩個超長正整數的加法。 介面說明 /* 請設計一個演算法完成兩個超長正整數的加法。 輸入引數: String addend:加數 String augend:被
字串反轉——來自華為OJ平臺測試基礎篇
/* * 字串反轉 * 與字元逆序一樣,是同一個程式 * 描述: 寫出一個程式,接受一個字串,然後輸出該字串反轉後的字串。例如: * 知識點: 陣列,指標 * 題目來源: 內部整理 * 練習階段: 初級 * 執行時間限制: 10Se