blog.bouzuya.net

2023-02-28 nostr の like (NIP-25 Reactions) を試してみた

nostr の like (NIP-25 Reactions) を試してみた。

kind: 7 かつ content: "+" で tags に e, p を指定したイベント。 e, p は NIP-01 にあるとおり "event" と "pubkey" を意味するもの。ここでは e は like の対象になる text-note (?) の event id で、 p は like の対象の投稿者の public key (たぶん) 。

like は Twitter とは異なり 2 回以上も可能だ。たぶん client 次第だろうけど Amethyst では可能だった。

また like ("+") / dislike ("-") は対というわけではない……というのは dislike は like を取り消すようなものではない。 like を取り消したい場合は NIP-09 Event Deletion を使う。

content に絵文字を含んでも良いが、そちらは試していない。


ABC170 : AtCoder Beginner Contest 170 の A, B, C, D を解いた。

use proconio::input;

fn main() {
    input! {
        n: usize,
        mut a: [usize; n],
    };
    let max = 1_000_000_usize;
    a.sort();

    let mut count = vec![0; max + 1];
    for a_i in a.iter().copied() {
        count[a_i] += 1;
    }

    let mut ans = 0_usize;
    let mut ok = vec![false; max + 1];
    for a_i in a {
        if !ok[a_i] {
            if count[a_i] == 1 {
                ans += 1;
            }
            for j in (a_i..=max).step_by(a_i) {
                ok[j] = true;
            }
        }
    }

    println!("{}", ans);
}

今日のコミット。