#include #include using namespace std; #define FOR(i, a, n) for(int i=a; i=a; i--) #define REP(i, n) FOR(i, 0, n) #define RREP(i, n) FOR(i, 0, n) int dp[(1 << 14)]; int main() { int N, M; int score[14][14]; cin >> N >> M; REP(i, N) REP(j, N) score[i][j] = 0; REP(i, M) { int x, y; cin >> x >> y; cin >> score[x][y]; } REP(i, 1 << N) dp[i] = 0; REP(mask, 1 << N) { REP(i, N) { if (mask&(1 << i)) continue; int sum = 0; REP(j, N) { if (mask&(1 << j)) sum += score[j][i]; dp[mask | (1 << i)] = max(dp[mask | (1 << i)], dp[mask] + sum); } } } cout << dp[(1 << N) - 1] << endl; return 0; }