1. 程式人生 > >OJ第二次作業第三題

OJ第二次作業第三題

#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

int f[100],a[1000],i,n,ans;
char str[1000];

void dfs(int dep)
{
    int r;
    if (dep==n+1)
    {
        ans++;    //記錄方案總數
        for (r=1;r<=n;++r)
            printf("%c",a[r]+96);
        printf("\n");
        return
; } for (r=1;r<=26;++r) if (f[r]>0)//如果這個字母沒有取完 { a[dep]=r;//a依然是記錄陣列 f[r]--;//計數器-1 dfs(dep+1); f[r]++;//回溯一步 } } int main() { scanf("%d",&n); cin>>str; for (i=0;i<n;++i) f[str[i]-96]++;//記錄每一個字母在字串中出現了幾次
dfs(1); printf("%d",ans); return 0; }

相關推薦

OJ第二作業

#include<iostream> #include<cstdio> #include<cstring> using namespace std; int f[100],a[1000],i,n,ans; char str

Java第二作業

四葉玫瑰線的圖形設計:當用滑鼠拖拽改變視窗大小時,四葉玫瑰線會重新繪製 package naizi; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class RoseJFrame extends JFr

Java第二作業

自定義異常類,非法年齡類,並在person3類中使用此類,根據情況丟擲異常,並進行處理。 package naizi; class IllegalAgeException extends Exception{ //無效年齡異常類 public IllegalAgeException(String s

Java第二作業

文字行輸入學生姓名,下來框選擇課程名稱,文字行輸入課程成績;點選“錄入”按鈕,相關資訊顯示在文字區;點選“統計”按鈕,將所有錄入的成績的平均成績顯示在另一個文字行中。 package naizi; import java.awt.*; import java.awt.event.*; import jav

軟件工程第二作業——四組

urn 中大 最大 bash 計算 函數代碼 wid 並且 感悟 Welcome to look my housework !!! 1.Github 賬號之前就有,不過沒有特別用心去學習怎麽用它,今天學了一下,頗有感悟,寫此博文,以作記錄: 2.第一步先在自己本地建立一

為什麼MySQL做查詢語句時,第一會很慢,但是第二就會變快

為什麼MySQL做查詢語句時,第一次會很慢,但是第二次,第三次就會變快 為什麼MySQL的查詢事務第一次執行會很慢,第二次,第三次就會快很多呢? 在國外,有個老外這麼提問 Hi, I have an sql query which takes 8 seconds i

資料結構作業

特殊線性表——棧 const int StackSize=100; template class SeqStack { public: SeqStack(){top=-1;}; ~SeqStack(); void Push(T x); T Pop(); T GetTop(){if(top!=

作業 作業

第三次作業   部落格連結:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360 一(1)程式碼    #include<stdio.h> int m

ACM第一訓練

格式方面除了點問題,導致解決時間過長。。我用的方法是判斷相鄰兩個字母是否相同,如果相同則記錄,再繼續判斷,最後記錄出的值就是取走石頭的數 #include <stdio.h> int main() { int n,i; while (scanf("%d",&n)!=E

第二期訓練(HDU-2057)

問題連結:http://acm.hdu.edu.cn/showproblem.php?pid=2057 問題簡述:輸入多組資料,每組資料包含兩個十六進位制數字A和B,輸出A+B的結果。 Point:(1)輸入多組十六進位制數字,輸出結果為十六進位制 (2)輸出字母為大寫 (3)定義變

c#第二章課後

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp

7組第二作業

-1 epo status git bash checkout 添加 現在 驗證 使用 王昊嵐 1.創建GitHub賬號並建立project,將本組成員納入此Porject中的Collaborators,並添加zykgnyue 為Collaborator。

第二作業電梯編程測試結果

評論 情況 問題 blog 出現 文件 文件的 要求 作業 第二次作業電梯編程題測試結果 電梯作業中出現的問題 最終需要輸出的是乘客等待時間和(不是電梯運行時間) 部分同學的代碼對非按序排序的時間無法處理 代碼文件的命名最好不要有中文、空格 不要在代碼末尾加 syste

第二

循環 tony end eve class body pen 列表 eric 3、寫代碼,有如下列表,按照要求實現每一個功能 li=[‘alex‘, ‘eric‘, ‘rain‘] 計算列表長度並輸出 列表中追加元素“seven”,並輸出添加後的列表 請在列表的第1個位置

C高級第一作業 函數第二

需要 循環 作業 pos turn i++ 一個 arch 下標 函數第二題 int search( int list[], int n, int x ) { int i; for(i=0;i<n;i++) if (list[i]==x) return i; retu

軟工實踐作業(結對第二作業

navig 但是 measure pat air conn map排序 demo 雷達 原博客 隊友博客 github項目地址 目錄 具體分工 需求分析 PSP表格 解題思路描述與設計實現說明 爬蟲使用 代碼組織與內部實現設計(類圖) 算法的關鍵與關鍵實現部分流程圖

CCF認證 Markdown 字串處理

Markdown 是一種很流行的輕量級標記語言(lightweight markup language),廣泛用於撰寫帶格式的文件。例如以下這段文字就是用 Markdown 的語法寫成的: 這些用 Markdown 寫成的文字,儘管本身是純文字格式,然而讀者可以很容易地看出

2018綠色計算大賽預賽第二階段(TeamBuilding)java

挑戰任務 “綠盟杯”決賽完美落幕之後,賽事團隊組織去一個風景優美的山區進行團建。由於人數眾多必須選擇一塊較大的場地。他們找到了一塊足夠大的地方,但是場地上卻散佈著許多石頭,為了方便活動,必須把這些石頭挪開。現在我們假設整個場地是一塊矩形的地圖,地圖座標的橫縱座標

100個人回答五道試題,有81人答對第一,91人答對第二,85人答對,79人答對

題目:   100個人回答五道試題,有81人答對第一題,91人答對第二題,85人答對第三題,79人答對第四題,74人答對第五題,答對三道題或三道題以上的人算及格, 那麼,在這100人中,至少有( )人

第二作業—— 熟悉 JUnit 測試 2作業—— 熟悉 JUnit 測試

第2次作業—— 熟悉 JUnit 測試   1 Mooctest 使用心得:   在慕測平臺上可以使用WebIDE進行線上編寫測試用例,實時提交用例並檢視用例執行結果      也可以通過慕測官方外掛進行遠端編寫測試用例,方便練習