HDU5237 加密K次 3 8變成 4 6

2021-10-04 15:19:14 字數 1443 閱讀 9973

題意:原本每個字元用8位二進位制數表示 現在每三個字元 把它的24位分成4個字元 有分別的對應方法。

每次都把原文當8位的 然後進行加密

如果多出來乙個8位 需要補4個0 如果多出來兩個8位 需要補2個0

還有一點就是 如果加密後的字元數不是4的倍數 需要用=號補到4的倍數

大模擬:

ac**如下:

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define inf 0x3f3f3f3f

#define sd(a) scanf("%d",&a)

#define sdd(a,b) scanf("%d%d",&a,&b)

#define cl(a,b) memset(a,b,sizeof(a))

#define rep(i,a,n) for(int i=a;i<=n;i++)

#define sddd(a,b,c) scanf("%d%d%d",&a,&b,&c)

#define dbg() printf("aaa\n")

using

namespace std;

const

int maxn=

5050

;char code[

100]

;void

init()

char s[maxn]

;//原串

int num[maxn]

;//01串存此

inline

intgetid

(int i)

p++;}

return now;

}void

fun(

char

*s)}

//現在變成了01串

//現在把01串變成新的64位串

int dig=k/24;

//新的一共多少個 4字元

int mod=k%24;

int cnt=0;

//記錄新串到哪了

int i;

for(i=1;

;i+=6)

if(mod==8)

else

if(mod==16)

int left=cnt%4;

while

(left!=

0&&left<4)

s[++cnt]

='\0'

;return;}

intmain()

printf

("case #%d: %s\n"

,cas,s+1)

;}return0;

}

hdu 6194 恰好出現k次的子串

傳送門 題意 給你乙個字串,和乙個k,問你字串中恰好出現k次的子串有多少種。思路 hdu4641的簡化版,hdu4641求的是 k次的子串個數,所以現在我們只需跑兩次計算出 k次的和 k 1次的,兩者相減即位恰好出現k次的子串個數。china no.1 pragma comment linker,s...

hdu 3642 覆蓋3次以上體積

題目大意 給你n個立方體,求相交區域大於等於三次的體積和。這題需要前面兩題的知識 體積並面積交 對於面積交,另外建立len2陣列表示覆蓋2次的面積,len3陣列表示覆蓋3次及以上的面積 對於體積並,離散化x座標是為了建樹,離散化z座標是為了節省時間。對於所有的體積範圍進行面積交之和即為所求體積 in...

K3Cloud二次開發規範 1

2.開發環境及命名空間規範 3.bos 設計器規範 4.資料庫物件命名總體規則 繼承體系 1.簡介 1.1.目的 規範k 3cloud產品二次開發規則,遵循過程改進 優化和管理的機制,特制定此工作指引。1.2.範圍 本工作指引適用於金蝶k 3cloud產品二次開發研發過程開發活動。1.3.物件導向 ...