P1106 十进制到八进制
P1118 ISBN号
P1218 神兽的粉丝
P1743 Audiophobia


源代码部分:
#include<bits/stdc++.h>
using namespace std;
/* 十进制转八进制 */
void toOcr(int n){
int a[50],count=0;
for(int i=0;n>0;i++){
a[i]=n%8; count++; n=n/8;
}
for(int j=count-1;j>=0;j--) cout<<a[j];
cout<<endl;
}
int main(){
int n;
while(cin>>n) toOcr(n);
return 0;
}


#include<bits/stdc++.h>
using namespace std;
vector<int> lists;
/* ISBN号的识别码的判断 */
void tests(){
int res=0;
for(int i=1;i<=9;i++) res+=lists[i-1]*i;
res=res%11;
if(res==lists[9]){
cout<<"Right"<<endl;
}else{
cout<<lists[0]<<"-";
for(int i=1;i<=3;i++) cout<<lists[i]; cout<<"-";
for(int i=4;i<=8;i++) cout<<lists[i]; cout<<"-";
if(res==10){
cout<<"X"<<endl;
}else{
cout<<res<<endl;
}
}
}
int main(){
int n;
while(cin>>n){
while(n!=0){
string test; cin>>test;
string p1=test.substr(0,1);
string p2=test.substr(2,3);
string p3=test.substr(6,5);
string p4=test.substr(12,1);
lists.push_back(int(p1[0])-48);
for(int i=0;i<p2.length();i++) lists.push_back(int(p2[i])-48);
for(int j=0;j<p3.length();j++) lists.push_back(int(p3[j])-48);
if(p4=="X"){
lists.push_back(10);
}else{
lists.push_back(int(p4[0])-48);
}
tests();
lists.clear();
n--;
}
}
}
/*
int main(){
string a="abc-3443-5454";
string a0=a.substr(9,4);
cout<<a0<<endl;
for(int i=0;i<a0.length();i++){
cout<<int(a0[i])-48<<endl;
}
}*/


代码部分:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
while(cin>>n){
int number[n+1]={0};
int a[n+1][n+1];
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) cin>>a[i][j];
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i!=j && a[i][j]==1 && a[j][i]==0) number[j]++;
//else if(i!=j && a[j][i]==1 && a[i][j]==0) number[i]++;
}
}
for(int i=1;i<=n;i++) cout<<number[i]<<endl;
}
return 0;
}

源代码部分:
#include<bits/stdc++.h>
#define MAX 2147483647
using namespace std;
int main(){
int C,S,Q; //C点数 S边数 Q询问数量
int count=1;
while(cin>>C>>S>>Q){
long long path[101][101];
for(int i=1;i<=C;i++)
for(int j=1;j<=C;j++)
path[i][j]=MAX;
//memset(path,MAX,sizeof(path));
for(int i=0;i<S;i++){
int u,v;long long w;
cin>>u>>v>>w;
path[u][v]=min(w,path[u][v]);
path[v][u]=min(w,path[v][u]);
}
for(int i=1;i<=C;i++) //中间节点
for(int j=1;j<=C;j++) //左侧点
for(int k=1;k<=C;k++){ //右侧点
path[j][k]=min(path[j][k],max(path[j][i],path[i][k]));
}
cout<<"Case #"<<count++<<endl;
int a,b;
for(int i=0;i<Q;i++){
cin>>a>>b;
if(path[a][b]== MAX) cout<<"no path"<<endl;
else cout<<path[a][b]<<endl;
}
}
return 0;
}
版权声明:本文为weixin_51339377原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。