zoj 1403 簡單列舉

2021-08-13 21:37:28 字數 812 閱讀 6789

題意簡述:密碼序列是由一系列大寫字母組成,在解密序列不唯一的情況下,按字典序輸出最後 乙個。其中,target是數字,v,w,x,y,z屬於同乙個集合且各不相同,該集合由題目給出,由26個大寫字母中的任意5-12個組成。

思路:這是一道典型的列舉題。題目中,解的值域已經確定,解元素中的v,w,x,y,z都是題目給定集合的乙個元素。儘管列舉法的演算法複雜度是指數級的,但鑑於給定集合最多有12個元素,完全可以直接用列舉。另外,題目中的約束條件,v,w,x,y,z各不相同,明顯不屬於解集的元素可以很容易的通過判斷來排除。需要注意的是,題目求的密碼序列是按字典序輸出最後乙個,所以要事先將集合元素排好序

#include

#include

#include

#include

#include

using

namespace

std;

char letter[15];

int target,value[15];

void process(int len)//計算過程列舉

printf("no solution\n");

} bool compare(int a,int b)//降序排列

int main()

sort(value,value + i,compare);//題意要求按照字典序輸出最後乙個,就是字典序的倒序輸出第乙個

process(i);}}

ZOJ 3710 friends 暴力 列舉 水

題意 有n個人 m對關係 如果兩個人之間有不少於k個好友的話就會成為朋友 問 長此以往會有多少對新關係形成 思路 一直暴力到沒有新關係為止 include include include include using namespace std const int maxn 100 1 bool g ...

zoj 動態規劃幾題(簡單)

1092 floyd 拼的對麼。就是算環的最大長度能否到1啦 include include include include using namespace std char a 1000 100 double b 100 100 char q 100 w 100 int m int qqq if ...

ZOJ 1101 Gamblers 簡單搜尋

題目意思 求滿足a b c d的最大a。下面給出的解法時間複雜度為n 3log n 即先排序,查詢d a b c時用二分法。其實還有一種n 2log n 的解法,即先求出所有可能的b c,再對其排序,最後二分查詢a d是否在其中。include include include using names...