雙層列舉嫌疑犯與當日是星期幾,統計真話與假話是否滿足題意
注意 fake<=n&&fake+neutral>=n 即假話數量不大於n,假話加上沒用的廢話數量不小於n
(注意oj上的資料存在問題:冒號後跟乙個空格,charles的話最後的句號『.』應為半形,非全形)
可用樣例輸入:
315mike
charles
kate
mike: i am guilty.
mike: today is
sunday.
charles: mike is
guilty.
kate: i am guilty.
kate: how are you??
#includeusingnamespace
std;
typedef pair
par;
typedef pair
pr;int m,n,p,ans,f[25
];char s1[300],s2[300],s3[300
];string daystr[7]=;
vector
name;
mapmp;
pr prd[
105];
inline
intreaddigit()
inline
void
readname()
inline
void
readsubj()
inline
void
readwords()
intmain()
for(i=0;i)
for(j=0;!jd&&j)
else
if(sd==name[j]+"
is not guilty.")
}if(!jd)
prd[i]=pr(4,par(0,0
)); }
}for(jd=false,day=0;day<7;day++)
}else}}
else
if(prd[i].first==2
) }
else}}
else
if(prd[i].first==3
) }
else}}
}if(!prim)
continue
; neutral=fake=0
;
for(i=0;i)
if(f[i]==0
) neutral++;
else
if(f[i]==2
) fake++;
if(fake<=n&&fake+neutral>=n)
else
if(jd&&ans!=gty)}}
}if(jd)
puts(name[ans].data());
else
puts(
"impossible");
return0;
}
zjnu 1182 能量項鍊
這道題和石子歸併其實是同樣的題目。題意 那邊寫的不是很清楚 首先給你n個珠子,每個珠子都有兩個屬性,分別是頭標記與尾標記,然後分別給出n個數,分別代表的是這些珠子的頭標記。前一顆珠子的尾標記一定等於後一顆珠子的頭標記。如果前一顆能量珠的頭標記為m,尾標記為r,後一顆能量珠的頭標記為r,尾標記為n,則...
ZJNU 1067 約瑟夫 中級
打表處理 case 1超時 對m進行列舉,每次列舉進行一次判斷 因為好人壞人均為k個,那麼只要讓下乙個死亡的人的位置p保證在1 剩餘壞人數量之間即可,不滿足則直接break列舉下乙個m 實際上對於m,因為m必須是 2kc 1,2kc k c n 之間的數,所以還能再優化,但下面的 已經能夠在78ms...
ZJNU 統計數字(1402)
description 某次科研調查時得到了n個自然數,每個數均不超過1500000000 1.5 10 9 已知不相同的數不超過10000個,現在需要統計這些自然數各自出現的次數,並按照自然數從小到大的順序輸出統計結果。input 第1行是整數n,表示自然數的個數。第2 n 1行每行乙個自然數。o...