将每秒消亡的和生成的单独存数组,每一次都取模操作保证不爆int
模拟1到t秒内的所有情况
#include<bits/stdc++.h>
using namespace std;
const int mod = 1e9+7;
int a[210],b[210];
inline void init()
{memset ( a, 0, sizeof(a) );memset ( b, 0, sizeof(b) );
}
int main()
{int T ;cin>>T;while ( T-- ){init();int k,m,t;scanf ( "%d%d%d", &k, &m, &t );int add = 0,ans = 1;a[k]++; b[m]++;for (int i=1;i<=t;i++){add = ((add+a[i])%mod-b[i]+mod )%mod;a[i+k] = (a[i+k]+add)%mod;b[i+m] = (b[i+m]+add)%mod;ans = ( ans+add )%mod;ans = ( ans-b[i]+mod )%mod;}printf ( "%dn", ans );}return 0;
}
本文发布于:2024-01-30 05:13:55,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170656283919476.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |