SGU 257 Debt 貪心 模擬

2021-06-10 02:32:15 字數 857 閱讀 1826

題意:有乙個人欠三個人分別p o s(1<=p o s<=10^5)塊錢,現在這個人手裡有n(1<=n<=10^5)塊crystal,但是每塊crystal在不同人看來是不一樣的

價值(1塊或者2塊),現在問是否存在一種分配方案使得能還清3個人的錢。

題解:首先給不同的crystal排優先順序,然後列舉滿足三個人的優先順序後貪心。

#include #include #include #include #define max(a , b) ((a) > (b) ? (a) : (b))

using namespace std;

const int pp[9] = ;

const int maxn = 100002;

struct node

}crystal[maxn];

int belong[maxn];

int a[3],rank[3],n,p,o,s;

void read()

}if(j == 3)

}if(j == 3) belong[crystal[i].id] = 0;}}

return (a[0] <= 0 && a[1] <= 0 && a[2] <= 0);

}void solve()

if(check(0,2,1))

if(check(1,0,2))

if(check(1,2,0))

if(check(2,0,1))

if(check(2,1,0))

puts("no solution");

return;

}int main()

return 0;

}