CSES Graph Paths I
// compile: make data
// run: time ./data < data.in
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#ifdef LOCAL
#include <debug/codeforces.h>
#define debug(x...) _debug_print(#x, x);
#define Debug(x...) _debug_print_format(#x, x);
std::ifstream terminal("/dev/tty");
#define PP cerr<<"\033[1;30mpause...\e[0m",terminal.ignore();
#else
#define debug(x...)
#define Debug(x...)
#define PP
#endif
template<typename...Args> void print_(Args...args){((cout<<args<<" "),...)<<endl;}
#define VI vector<int>
#define VII vector<vector<int>>
#define VIII vector<vector<vector<int>>>
#define rep(i,a,b) for(int i=(a);i<(int)(b);++i)
#define sz(v) ((int)(v).size())
#define print(...) print_(__VA_ARGS__);
#define FIND(a, x) ((find(a.begin(),a.end(),(x))!=a.end())?1:0)
#define cmin(x,...) x=min({(x), __VA_ARGS__})
#define cmax(x,...) x=max({(x), __VA_ARGS__})
#define INTMAX (int)(9223372036854775807)
#define INF (int)(1152921504606846976)
#define NaN (int)(0x8b88e1d0595d51d1)
#define double long double
#define int long long
#define uint unsigned long long
#define MAXN 200010
#define P 1000000007

namespace math {
    struct matrix {
        vector<vector<int>> val;
        int row, col;
        int modp;
        matrix(int r, int c, int m = NaN) : row(r), col(c), modp(m) {
            val.resize(row, vector<int>(col, 0));
        }
        matrix operator*(const matrix &rhs) const {
            auto lhs = *this;
            matrix res(lhs.row, rhs.col, modp);
            rep(i, 0, lhs.row) {
                rep(k, 0, lhs.col) {
                    rep(j, 0, rhs.col) {
                        res.val[i][j] += lhs.val[i][k] * rhs.val[k][j];
                        if (modp != NaN) res.val[i][j] %= modp;
                    }
                }
            }
            return res;
        }
        matrix pow(const int N) {
            assert(row == col);
            if (N == 0) {
                matrix res(row, col, modp);
                rep(i, 0, row) res.val[i][i] = 1;
                return res;
            }
            if (N == 1) return *this;
            matrix block = this->pow(N >> 1);
            if (N & 1) return block * block * *this;
            else return block * block;
        }
    };
}

int32_t main() {
    ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);

    int n, m, k; cin >> n >> m >> k;
    vector<vector<int>> A(n, vector<int>(n));
    rep(i, 0, m) {
        int u, v; cin >> u >> v;
        ++A[u-1][v-1];
    }
    math::matrix M(n, n, P); M.val = A;
    M = M.pow(k);
    cout << M.val[0][n-1] << endl;

    return 0;
}

Comments

  1. 9 months ago
    2025-12-06 2:36:32

    Bahisbey103 is where it’s at right now! Signed up last week and already seeing some decent returns. Hopefully, the luck keeps rollin’! Sign up and give it a shot: bahisbey103

  2. 8 months ago
    2025-12-19 13:51:52

    Joined b52cc yesterday and man can’t stop playing. Website is awesome and graphics are amazing. Go play now: b52cc

  3. 8 months ago
    2025-12-29 6:19:55

    Okay, j168bet. Looks quite similar to j168. Maybe same company? Anyway, decent selection of games, promotions also not bad. Gotta read the terms and conditions properly though! Worth a shot at j168bet.

  4. 6 months ago
    2026-2-17 13:55:45

    Car88slot? Gotta love those slot car vibes! I spent a bit of time spinning the reels there last week. Not a huge selection, but what they have is solid. Could be your next favorite. Check it out here: car88slot

  5. 6 months ago
    2026-2-17 13:56:00

    Gate777casino… Get ready for takeoff! Feels like a bit of a trip with the selection of games. Solid overall from what I saw, not too shabby. Ready to fly? Click here: gate777casino

  6. 6 months ago
    2026-2-17 13:56:16

    Mex365bet… Sounds like a contender. Not bad at all, I had a quick play and can’t complain. Plenty of options so give it a try sometime. Jump in by clicking here: mex365bet

  7. 6 days ago
    2026-8-23 16:19:33

    Downloading new games on the go has never been this convenient. The installer is clean and updates arrive automatically so I never miss new features. I recommend this to friends who want quick access to top rated entertainment apps 99oxgameapk

  8. 6 days ago
    2026-8-23 16:19:48

    Loading up on my phone has never been this effortless before. I appreciate how the mobile interface runs so smoothly without draining my battery or lagging during live matches. It feels like they really built this app with everyday commuters in mind. Just tap the login and I am ready to place my bets while grabbing morning coffee. Highly recommend this to anyone who wants a reliable gaming partner on the go. okwinapklogin

  9. 6 days ago
    2026-8-23 16:20:04

    Finding a safe and reliable gaming spot in the Philippines has always been a struggle until I stumbled upon this page. The registration process takes barely a minute and I felt instantly welcome by the active community. My payouts arrive quickly and I never have to jump through hoops just to claim my rewards. It truly feels like a crown fitting for loyal players who stick around. phjilicrown

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
Previous
Next