無趣的小x在玩乙個很無趣的數字遊戲。他要在n個數字中找他喜歡友好數對。
他對友好數對的定義是:如果有兩個數中包含某乙個以上相同的數字(單個數字),這兩個數就是友好數對。
比如:123和345 就是友好數對,因為都包含數字3,顯然123和234也是由號數對。而12和34則不是友好數對,因為它們沒有相同的數字。
剛拿到題沒怎麼讀懂,因為我直觀的想法是存一下掃一遍就行了,後來一想,得用容斥;又犯蠢了;
其實這道題的容斥比較基本,看**吧;
#include#includeview code#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define ll long long
intn;
ll x=0
;int b[1
<<11],c[1
<<11
];void
init()
b[p]++;
}}ll col(ll x)
void
work()
if(sum%2)ans+=col(c[i]);
else ans-=col(c[i]);
}cout
}int
main()
高校俱樂部之友好數(1)
如果兩個正整數組成它們的數字和相同則稱它們互為友好數,給定正整數x,求比它大的最小的友好數。例如x 222,輸出231,因為2 2 2 6 2 3 1。輸入乙個正整數x,由於輸入數字較大,我們用字串作為輸入,字串不包含首 0 0 x 10 1000 我們同樣用字串來表示輸出。分析 面對這道題,首先考...
JZOJ5258 友好數對
題目就是要我們求有多少個 a i,bi 滿足ai xor bi 2x 2y x y 所以我們可以知道 ai xor bi xor 2x xor 2y 0我們就將所以ai xor 2x 放入乙個雜湊表裡面,然後列舉bi xor 2y 在雜湊表裡面找,有多少個與它相同,統計答案。但是這樣會算重,比如 如...
1105 判斷友好數對(函式專題)
輸入兩個正整數m和n,順序輸出m到n之間的所有友好數對。如果兩個整數的所有正因子之和 包括1,不包括自身 等於對方,就稱這對數是友好的。例如 1184和1210是友好數對,因為 1184的因子之和為1 2 4 8 16 32 37 74 148 296 592 1210 1210的因子之和為1 2 ...