ある秘密保持部門の機密要員-問題解決報告

2334 ワード

title:ある秘密保持機関の機密要員-解題報告date:2016-03-27 16:12:39 tags:アルゴリズムcategories:アルゴリズム
ある秘密保持部門の機密要員A,B,C,D,Eは毎週5日間働き、2日間休む必要がある.
                         ,       。

  ,      ,      :

1.              3 (  :           )。

2.    ,   3         。

3.     ,     A B C D     2   。

4. B D E          。

5. A E       。

6. A C         4    (     )。

     :    ,  ABCDE           。     1,     0

A B C D E     1   ,      。

【入力・出力フォーマット要件】
      ,           。

     7x5   。  1 0  。        

          ,      。

        A,B,C,D,E      。

           。

  ,             。        (           )。

0110111 1101110 0110111 1101110 1110110
【注意】
     !                       !

                            。

              ,    ,   【     】      “  .txt”   。

           。

            、Win32API、    、             API。

    STL  ,     MFC ATL  ANSI c++     。

  ,    CString  (  MFC  ),    randomize, random  (   ANSI C++  )
#include
#include
#include
using namespace std;
int peo[30][7];
int temp[7];
int count = 0;
int judge()
{
    int min=100,max=0;
    for(int i=0;i<7;i++)
    {
        if(temp[i] == 0)
        {
            if(min>i)
                min = i;
            if(max=3)
        return 1;
    else
        return 0;
}
int funa(int i,int j,int k,int m)
{
    int count = 0;
    for(int a=0;a<7;a++)
    {
        if(peo[i][a]+peo[j][a]+peo[k][a]+peo[m][a] >=2)
        {
            count++;
        }
    }
    if(count >= 7)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}
int funb(int i,int k)
{
    int count = 0;
    for(int a=0;a<7;a++)
    {
        if(peo[i][a]+peo[k][a] == 2)
        {
            count++;
        }
    }
    if(count>=4)
    {
        return 1;
    }
    else
        return 0;
}
void func(int i)
{
    for(int a=0;a<7;a++)
    {
        cout<