hpu16第四周

来源:互联网 发布:幼儿淘宝海报怎么做 编辑:程序博客网 时间:2024/06/05 15:26
A - Calculating Function
<span style="font-size:18px;">#include<cstdio>using namespace std;int main(){long long n, s;scanf ("%lld",&n);if (n&1)s= (n/2)-n;elses= n/2;printf ("%lld\n",s);return 0;} </span>

B - OR in Matrix


先给b填成1,若aij=0,则i行,j列为0,然后判断a为1的地方,b是否成立。
#include<cstdio>using namespace std;int a[110][110],b[110][110];int main(){int m, n, i,j;scanf ("%d %d",&m,&n);for (i=1; i<=m; i++)for (j=1; j<=n; j++)b[i][j]=1;for (i=1;i<=m; i++){for (j=1; j<=n; j++){scanf ("%d",&a[i][j]);if (a[i][j]==0){for (int k=1; k<=m; k++)b[k][j]=0;for (int k=1; k<=n; k++)b[i][k]=0;}}}int flag=0;int flag2=0;for (i=1; i<=m; i++){if (flag2==1)break;for (j=1; j<=n; j++){if (a[i][j]==1){flag=0;for (int k=1; k<=m; k++){if (b[k][j]==1){flag=1;}}for (int k=1; k<=n; k++){if (b[i][k]==1){flag=1;}}if (flag==0)flag2=1;}}}//printf ("--%d--%d--",flag,flag2);if (!flag2){printf ("YES\n");for (i=1; i<=m; i++){for (j=1; j<=n; j++){printf ("%d ",b[i][j]);}printf ("\n");}}elseprintf ("NO\n");return 0;} 

H - Integer Divisibility

水,同余定理

#include<cstdio>using namespace std;int k,s;void solve(int n,int d){k=1;s=d%n;while (s){k++;s=(s*10+d)%n;}}int main(){int n, d, t,cas=1;scanf ("%d",&t);while (t--){scanf ("%d %d",&n,&d);solve(n,d);printf ("Case %d: %d\n",cas++,k);}return 0;} 



0 0
原创粉丝点击