1. 程式人生 > >51Nod 1024 矩陣中不重復的元素 | 技巧 數學

51Nod 1024 矩陣中不重復的元素 | 技巧 數學

mes efi sizeof -- ble eof using namespace style

技術分享

技術分享

first try:

set<LL> sset;
int main()
{
    LL m,n,a,b;
    while(~scanf("%lld%lld%lld%lld",&m,&n,&a,&b)){
        LL tt;
        for(int i=0;i<n;i++){
            tt=a;
            for(int j=0;j<m;j++){
                sset.insert((LL)pow((tt++),b));
            }
            b
++; } printf("%d\n",sset.size()); } return 0; }

wrong

second try:

數非常大,考慮將數縮小,因為他是指數的,所以我們可以取一個對數

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define rep(i,a,n) for(int i = a; i < n; i++)
#define repe(i,a,n) for(int i = a; i <= n; i++)
#define
per(i,n,a) for(int i = n; i >= a; i--) #define clc(a,b) memset(a,b,sizeof(a)) #define INF 1e18+100 #define N 110 typedef long long LL; set <double> s; int main() { int m, n, a, b; while(cin>>m>>n>>a>>b) { s.clear(); for(int i=a; i<a+n; i++) {
for(int j=b; j<b+m; j++) { s.insert(1.0*j*log2(1.0*i)); } } cout<<s.size()<<endl; } return 0; }

51Nod 1024 矩陣中不重復的元素 | 技巧 數學